Start ...1=
()
| 59 | |
| 60 | // Start ...1= |
| 61 | func (s *Server) Start() error { |
| 62 | ot.InitOpentelemetry() |
| 63 | |
| 64 | log.L = log.L.With(zap.String("service", config.Data.Common.AppName)) |
| 65 | |
| 66 | err := storage.Init() |
| 67 | if err != nil { |
| 68 | return err |
| 69 | } |
| 70 | |
| 71 | gin.SetMode((gin.ReleaseMode)) |
| 72 | |
| 73 | err = user.Init() |
| 74 | if err != nil { |
| 75 | logger.Crit("init user module failed", "error", err) |
| 76 | } |
| 77 | |
| 78 | go dashboard.InitHistory() |
| 79 | |
| 80 | go task.Init() |
| 81 | |
| 82 | go overrideApiServerAddrInLocalUI() |
| 83 | go func() { |
| 84 | router := gin.New() |
| 85 | router.Use(Cors()) |
| 86 | |
| 87 | r := router.Group("/api") |
| 88 | r.Use(gzip.Gzip(gzip.DefaultCompression)) |
| 89 | |
| 90 | otelPlugin := otelgin.Middleware(config.Data.Common.AppName) |
| 91 | // global config |
| 92 | r.GET("/config/ui", getUIConfig) |
| 93 | |
| 94 | // user apis |
| 95 | r.POST("/login", user.Login) |
| 96 | r.POST("/login/github", user.LoginGithub) |
| 97 | r.POST("/logout", user.Logout) |
| 98 | r.GET("/user/session", user.GetSession) |
| 99 | r.POST("/account/password", IsLogin(), user.UpdateUserPassword) |
| 100 | r.POST("/account/info", IsLogin(), user.UpdateUserInfo) |
| 101 | |
| 102 | // teams apis |
| 103 | r.GET("/teams/all", IsLogin(), teams.GetTeams) |
| 104 | r.GET("/team/byId/:id", IsLogin(), teams.GetTeam) |
| 105 | r.GET("/team/byDashId/:id", IsLogin(), teams.GetTeamByDashId) |
| 106 | r.GET("/team/:id/members", IsLogin(), teams.GetTeamMembers) |
| 107 | r.POST("/team/member", IsLogin(), teams.UpdateTeamMember) |
| 108 | r.POST("/team/add/member", IsLogin(), teams.AddTeamMembers) |
| 109 | r.DELETE("/team/member/:teamId/:memberId", IsLogin(), teams.DeleteTeamMember) |
| 110 | r.POST("/team/update", IsLogin(), teams.UpdateTeam) |
| 111 | r.POST("/team/new", IsLogin(), admin.AddNewTeam) |
| 112 | r.DELETE("/team/:id", IsLogin(), teams.DeleteTeam) |
| 113 | r.DELETE("/team/leave/:id", IsLogin(), teams.LeaveTeam) |
| 114 | r.GET("/team/sidemenu/:id", teams.GetSideMenu) |
| 115 | r.POST("/team/sidemenu", IsLogin(), teams.UpdateSideMenu) |
| 116 | r.GET("/team/sidemenus/forUser", IsLogin(), teams.GetAvailableSidMenusForUser) |
| 117 | r.POST("/team/sidemenu/select/:teamId", IsLogin(), teams.SelectSideMenuForUser) |
| 118 | r.GET("/team/sidemenu/current", IsLogin(), teams.GetCurrentSidemenu) |
no test coverage detected