package main import ( "chat/adapter" "chat/addition" "chat/admin" "chat/auth" "chat/channel" "chat/cli" "chat/manager" "chat/manager/conversation" "chat/middleware" "chat/utils" "fmt" "github.com/gin-gonic/gin" "github.com/spf13/viper" ) func registerApiRouter(engine *gin.Engine) { var app *gin.RouterGroup if !viper.GetBool("serve_static") { app = engine.Group("") } else { app = engine.Group("/api") } { auth.Register(app) admin.Register(app) adapter.Register(app) manager.Register(app) addition.Register(app) conversation.Register(app) } } func main() { utils.ReadConf() admin.InitInstance() channel.InitManager() if cli.Run() { return } app := utils.NewEngine() worker := middleware.RegisterMiddleware(app) defer worker() utils.RegisterStaticRoute(app) registerApiRouter(app) if err := app.Run(fmt.Sprintf(":%s", viper.GetString("server.port"))); err != nil { panic(err) } }