Files
mayfly-go/server/internal/sys/router/resource.go
2022-07-14 11:39:12 +08:00

51 lines
1.3 KiB
Go

package router
import (
"mayfly-go/internal/sys/api"
"mayfly-go/internal/sys/application"
"mayfly-go/pkg/ctx"
"github.com/gin-gonic/gin"
)
func InitResourceRouter(router *gin.RouterGroup) {
r := &api.Resource{ResourceApp: application.ResourceApp}
db := router.Group("sys/resources")
{
db.GET("", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).Handle(r.GetAllResourceTree)
})
db.GET(":id", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).Handle(r.GetById)
})
saveResource := ctx.NewLogInfo("保存资源").WithSave(true)
srPermission := ctx.NewPermission("resource:add")
db.POST("", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).
WithLog(saveResource).
WithRequiredPermission(srPermission).
Handle(r.SaveResource)
})
changeStatus := ctx.NewLogInfo("修改资源状态").WithSave(true)
csPermission := ctx.NewPermission("resource:changeStatus")
db.PUT(":id/:status", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).
WithLog(changeStatus).
WithRequiredPermission(csPermission).
Handle(r.ChangeStatus)
})
delResource := ctx.NewLogInfo("删除资源").WithSave(true)
dePermission := ctx.NewPermission("resource:delete")
db.DELETE(":id", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).
WithLog(delResource).
WithRequiredPermission(dePermission).
Handle(r.DelResource)
})
}
}