-
Notifications
You must be signed in to change notification settings - Fork 0
/
router_render.go
92 lines (77 loc) · 3.34 KB
/
router_render.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
package router
import (
"github.com/nxsre/go-gin-api/internal/pkg/core"
"github.com/nxsre/go-gin-api/internal/render/admin"
"github.com/nxsre/go-gin-api/internal/render/authorized"
"github.com/nxsre/go-gin-api/internal/render/config"
"github.com/nxsre/go-gin-api/internal/render/cron"
"github.com/nxsre/go-gin-api/internal/render/dashboard"
generator_handler "github.com/nxsre/go-gin-api/internal/render/generator"
"github.com/nxsre/go-gin-api/internal/render/index"
"github.com/nxsre/go-gin-api/internal/render/install"
"github.com/nxsre/go-gin-api/internal/render/tool"
"github.com/nxsre/go-gin-api/internal/render/upgrade"
)
func setRenderRouter(r *resource) {
renderInstall := install.New(r.logger)
renderIndex := index.New(r.logger, r.db, r.cache)
renderDashboard := dashboard.New(r.logger, r.db, r.cache)
renderGenerator := generator_handler.New(r.logger, r.db, r.cache)
renderConfig := config.New(r.logger, r.db, r.cache)
renderAuthorized := authorized.New(r.logger, r.db, r.cache)
renderTool := tool.New(r.logger, r.db, r.cache)
renderAdmin := admin.New(r.logger, r.db, r.cache)
renderUpgrade := upgrade.New(r.logger, r.db, r.cache)
renderCron := cron.New(r.logger, r.db, r.cache)
// 无需记录日志,无需 RBAC 权限验证
notRBAC := r.mux.Group("", core.DisableTraceLog, core.DisableRecordMetrics)
{
// 首页
notRBAC.GET("", renderIndex.Index())
// 仪表盘
notRBAC.GET("/dashboard", renderDashboard.View())
// 安装
notRBAC.GET("/install", renderInstall.View())
notRBAC.POST("/install/execute", renderInstall.Execute())
// 管理员
notRBAC.GET("/login", renderAdmin.Login())
notRBAC.GET("/admin/modify_password", renderAdmin.ModifyPassword())
notRBAC.GET("/admin/modify_info", renderAdmin.ModifyInfo())
}
// 无需记录日志,需要 RBAC 权限验证
render := r.mux.Group("", core.DisableTraceLog, core.DisableRecordMetrics)
{
// 配置信息
render.GET("/config/email", renderConfig.Email())
render.GET("/config/code", renderConfig.Code())
// 代码生成器
render.GET("/generator/gorm", renderGenerator.GormView())
render.POST("/generator/gorm/execute", renderGenerator.GormExecute())
render.GET("/generator/handler", renderGenerator.HandlerView())
render.POST("/generator/handler/execute", renderGenerator.HandlerExecute())
// 调用方
render.GET("/authorized/list", renderAuthorized.List())
render.GET("/authorized/add", renderAuthorized.Add())
render.GET("/authorized/api/:id", renderAuthorized.Api())
render.GET("/authorized/demo", renderAuthorized.Demo())
// 管理员
render.GET("/admin/list", renderAdmin.List())
render.GET("/admin/add", renderAdmin.Add())
render.GET("/admin/menu", renderAdmin.Menu())
render.GET("/admin/menu_action/:id", renderAdmin.MenuAction())
render.GET("/admin/action/:id", renderAdmin.AdminMenu())
// 升级
render.GET("/upgrade", renderUpgrade.UpgradeView())
render.POST("/upgrade/execute", renderUpgrade.UpgradeExecute())
// 工具箱
render.GET("/tool/hashids", renderTool.HashIds())
render.GET("/tool/logs", renderTool.Log())
render.GET("/tool/cache", renderTool.Cache())
render.GET("/tool/data", renderTool.Data())
render.GET("/tool/websocket", renderTool.Websocket())
// 后台任务
render.GET("/cron/list", renderCron.List())
render.GET("/cron/add", renderCron.Add())
render.GET("/cron/edit/:id", renderCron.Edit())
}
}