58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
|
|
"management/internal/config"
|
|
"management/internal/pkg/logger"
|
|
"management/internal/pkg/redis"
|
|
"management/internal/pkg/session"
|
|
"management/internal/pkg/snowflake"
|
|
"management/internal/tpl"
|
|
|
|
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()
|
|
}
|