Files
stack/ee/reconciliation/cmd/root.go

52 lines
1.1 KiB
Go

package cmd
import (
"github.com/formancehq/go-libs/bun/bunmigrate"
"github.com/formancehq/go-libs/service"
"github.com/spf13/cobra"
)
var (
ServiceName = "reconciliation"
Version = "develop"
BuildDate = "-"
Commit = "-"
)
const (
stackURLFlag = "stack-url"
stackClientIDFlag = "stack-client-id"
stackClientSecretFlag = "stack-client-secret"
listenFlag = "listen"
)
func NewRootCommand() *cobra.Command {
cmd := &cobra.Command{}
cobra.EnableTraverseRunHooks = true
serveCmd := newServeCommand(Version)
addAutoMigrateCommand(serveCmd)
cmd.AddCommand(serveCmd)
versionCmd := newVersionCommand()
cmd.AddCommand(versionCmd)
migrate := newMigrate()
cmd.AddCommand(migrate)
return cmd
}
func Execute() {
service.Execute(NewRootCommand())
}
func addAutoMigrateCommand(cmd *cobra.Command) {
cmd.Flags().Bool(autoMigrateFlag, false, "Auto migrate database")
cmd.PreRunE = func(cmd *cobra.Command, args []string) error {
autoMigrate, _ := cmd.Flags().GetBool(autoMigrateFlag)
if autoMigrate {
return bunmigrate.Run(cmd, args, Migrate)
}
return nil
}
}