()
| 10 | var Engine *gin.Engine |
| 11 | |
| 12 | func InitServer() error { |
| 13 | Engine = gin.Default() |
| 14 | Engine.Use(cors.Middleware(cors.Config{ |
| 15 | Origins: "*", |
| 16 | Methods: "GET, PUT, POST, DELETE", |
| 17 | RequestHeaders: "Origin, Authorization, Content-Type", |
| 18 | ExposedHeaders: "", |
| 19 | MaxAge: 50 * time.Second, |
| 20 | Credentials: true, |
| 21 | ValidateHeaders: false, |
| 22 | })) |
| 23 | Engine.GET("/", index) |
| 24 | Engine.GET("/apidoc", apiDoc) |
| 25 | v1 := Engine.Group("/api/v1", pagination) |
| 26 | { |
| 27 | v1.GET("/login", Login) |
| 28 | v1.POST("/login", Login) |
| 29 | v1.GET("/sync_user", SyncUsers) |
| 30 | |
| 31 | switch config.AuthType { |
| 32 | case "mysql": |
| 33 | v1.Use(AuthMySQL()) |
| 34 | case "iam": |
| 35 | v1.Use(AuthIAM()) |
| 36 | } |
| 37 | |
| 38 | //操作日志 |
| 39 | v1.Use(OperationRecord()) |
| 40 | v1.GET("/query", queryTimeSeriesData) |
| 41 | v1.GET("/suggest/metrics", suggestMetrics) |
| 42 | v1.GET("/suggest/tags", suggestMetricTagSet) |
| 43 | v1.POST("/logout", Logout) |
| 44 | |
| 45 | plugin := v1.Group("/plugins") |
| 46 | { |
| 47 | plugin.GET("", listPlugins) |
| 48 | plugin.POST("", verifyAdminPermission, createPlugin) |
| 49 | plugin.PUT("", verifyAdminPermission, updatePlugin) |
| 50 | plugin.DELETE("/:plugin_id", verifyAdminPermission, deletePlugin) |
| 51 | |
| 52 | // plugin.PUT("/:plugin_id/host_groups/add", addHostGroups2Plugin) |
| 53 | // plugin.PUT("/:plugin_id/host_groups/remove", removeHostGroupsFromPlugin) |
| 54 | // plugin.GET("/:plugin_id/host_groups", listPluginHostGroups) |
| 55 | // plugin.GET("/:plugin_id/host_groups/not_in", listNotInPluginHostGroups) |
| 56 | } |
| 57 | |
| 58 | // user interface |
| 59 | user := v1.Group("/users") |
| 60 | { |
| 61 | user.GET("", verifyAdminPermission, listAllUsers) |
| 62 | if config.AuthType == "mysql" { |
| 63 | //创建用户 |
| 64 | user.POST("", verifyAdminPermission, createUser) |
| 65 | //修改密码 |
| 66 | user.POST("changepassword", changeUserPassword) |
| 67 | user.POST("resetpassword", verifyAdminPermission, resetUserPassword) |
| 68 | } |
| 69 | // 获取用户所在的产品列表 |
no test coverage detected