/
route.go
106 lines (99 loc) · 4.07 KB
/
route.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package router
import (
"github.com/gin-gonic/gin"
"github.com/yuedun/zhuque/middleware"
"github.com/yuedun/zhuque/pkg/exec"
"github.com/yuedun/zhuque/pkg/permission"
"github.com/yuedun/zhuque/pkg/project"
"github.com/yuedun/zhuque/pkg/role"
"github.com/yuedun/zhuque/pkg/task"
"github.com/yuedun/zhuque/pkg/user"
)
// Register 路由注册
func Register(router *gin.Engine) {
router.Use(middleware.Logger()) //全局中间件
userRouter := router.Group("/user")
userRouter.Use(middleware.Logger())
//user路由注册,可以给各个group加中间件
userRouter.POST("/login", middleware.Jwt().LoginHandler)
userRouter.GET("/refresh_token", middleware.Jwt().RefreshHandler) // 刷新token
userRouter.GET("/logout", middleware.Jwt().LogoutHandler)
userRouter.GET("/forgot-password", user.ForgotPassword) //忘记密码,发送邮件
userRouter.GET("/reset-password", user.RestPassword) //根据邮件链接重置密码
userRouter.Use(middleware.Jwt().MiddlewareFunc())
{
userRouter.GET("/info/:id", user.GetUserInfo) //单独给某个路由添加中间件
userRouter.GET("/list", user.List)
userRouter.POST("/create", user.CreateUser)
userRouter.PUT("/update/:id", user.UpdateUser)
userRouter.DELETE("/del/:id", user.DeleteUser)
userRouter.GET("/init", user.Init)
userRouter.GET("/user-projects/:userID", user.UserProjectList)
userRouter.POST("/create-user-project", user.CreateUserProject)
userRouter.DELETE("/user-project/del/:id", user.DeleteUserProject)
userRouter.POST("/change-password", user.ChangePassword)
}
projectRouter := router.Group("/project")
//user路由注册,可以给各个group加中间件
projectRouter.Use(middleware.Logger())
projectRouter.Use(middleware.Jwt().MiddlewareFunc())
projectRouter.Use(middleware.SetUserInfo())
{
projectRouter.GET("/list", project.List)
projectRouter.GET("/name-list", project.NameList)
projectRouter.GET("/name-list-v2", project.NameListV2)
projectRouter.GET("/name-list-all", project.NameListAll)
projectRouter.POST("/create", project.CreateProject)
projectRouter.GET("/get-by-id/:id", project.GetProjectInfo)
projectRouter.PUT("/update/:id", project.UpdateProject)
projectRouter.POST("/del/:id", project.DeleteProject)
}
deployRouter := router.Group("/deploy")
//user路由注册,可以给各个group加中间件
projectRouter.Use(middleware.Logger())
projectRouter.Use(middleware.Jwt().MiddlewareFunc())
{
deployRouter.GET("/list", task.List)
deployRouter.GET("/wait-list", task.WaitList)
deployRouter.GET("/server-by-sql/:id", task.GetTaskInfoBySql)
deployRouter.POST("/create", task.CreateTask)
deployRouter.PUT("/update/:id", task.UpdateTask)
deployRouter.DELETE("/del/:id", task.DeleteTask)
deployRouter.POST("/approve", task.Approve)
}
//发送命令路由注册
execRouter := router.Group("/exec")
execRouter.Use(middleware.Jwt().MiddlewareFunc())
{
execRouter.POST("/send", exec.Send)
//单任务
execRouter.POST("/create-task-for-pm2", exec.CreateTaskForPM2)
execRouter.POST("/release/:id", exec.Release)
//多任务
execRouter.POST("/create-task-for-pm2-v2", exec.CreateTaskForPM2V2)
execRouter.POST("/release-v2/:id", exec.ReleaseV2)
//scp不需要支持多任务
execRouter.POST("/create-task-for-scp", exec.CreateTaskForSCP)
execRouter.POST("/release-for-scp/:id", exec.ReleaseForSCP)
}
//权限管理
permissionRouter := router.Group("/permission")
permissionRouter.Use(middleware.Jwt().MiddlewareFunc())
{
permissionRouter.GET("/list", permission.List)
permissionRouter.GET("/role-permissions/:roleid", permission.RolePermissions)
permissionRouter.POST("/create", permission.CreatePermission)
permissionRouter.PUT("/update/:id", permission.UpdatePermission)
permissionRouter.DELETE("/:id", permission.DeletePermission)
}
//角色管理
roleRouter := router.Group("/role")
roleRouter.Use(middleware.Jwt().MiddlewareFunc())
{
roleRouter.GET("/list", role.List)
roleRouter.POST("/create", role.CreateRole)
roleRouter.POST("/set-permission", role.SetPermission)
roleRouter.PUT("/update/:id", role.UpdateRole)
roleRouter.DELETE("/:id", role.DeleteRole)
}
}