package cmd import ( "context" "fmt" "log" "management/internal/config" "management/internal/pkg/logger" "management/internal/pkg/snowflake" dbinit "management/internal/db/init" db "management/internal/db/sqlc" router "management/internal/router/manage" "github.com/spf13/cobra" ) var manageCmd = &cobra.Command{ Use: "manage", Short: "Start management server", Long: `A Service to management manage`, Run: func(cmd *cobra.Command, args []string) { err := runManage(cmd.Context()) if err != nil { log.Fatalf("run manage failed: %v", err) } }, } func init() { manageCmd.Flags().StringVarP(&configPath, "config", "c", "", "Custom config file path") rootCmd.AddCommand(manageCmd) } func runManage(ctx context.Context) error { mustInitAny(configPath, config.Init) logger.Init() mustInitAny(ctx, db.NewStore) // 初始化数据 dbinit.InitSeed() // mustInit(redis.Init) // session.Init() mustInit(snowflake.Init) // mustInit(token.NewPasetoMaker) // mustInit(tencentoss.Init) // mustInit(tpl.Init) address := fmt.Sprintf("%s:%d", config.File.App.Host, config.File.App.Port) log.Printf("Starting manage server on %s", address) server := InitServer(address, router.NewRouter()) return server.ListenAndServe() }