56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package api
|
|
|
|
import (
|
|
"gitea.zjmud.xyz/phyer/rbac/controllers"
|
|
"gitea.zjmud.xyz/phyer/rbac/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func SetupRoutes(r *gin.Engine) {
|
|
// 认证相关路由
|
|
auth := r.Group("/auth")
|
|
{
|
|
auth.POST("/register", controllers.Register)
|
|
auth.POST("/login", controllers.Login)
|
|
}
|
|
|
|
// 需要认证的路由
|
|
api := r.Group("/api")
|
|
api.Use(middleware.JWTAuth())
|
|
{
|
|
// 用户管理
|
|
users := api.Group("/users")
|
|
{
|
|
users.GET("/", controllers.GetUsers)
|
|
users.GET("/:id", controllers.GetUser)
|
|
users.PUT("/:id", controllers.UpdateUser)
|
|
users.DELETE("/:id", controllers.DeleteUser)
|
|
}
|
|
|
|
// 角色管理
|
|
roles := api.Group("/roles")
|
|
{
|
|
roles.POST("/", controllers.CreateRole)
|
|
roles.GET("/", controllers.GetRoles)
|
|
roles.GET("/:id", controllers.GetRole)
|
|
roles.PUT("/:id", controllers.UpdateRole)
|
|
roles.DELETE("/:id", controllers.DeleteRole)
|
|
}
|
|
|
|
// 权限管理
|
|
permissions := api.Group("/permissions")
|
|
{
|
|
permissions.POST("", controllers.CreatePermission)
|
|
permissions.GET("", controllers.GetPermissions)
|
|
permissions.GET("/:id", controllers.GetPermission)
|
|
permissions.PUT("/:id", controllers.UpdatePermission)
|
|
permissions.DELETE("/:id", controllers.DeletePermission)
|
|
}
|
|
|
|
// Handle trailing slash redirect
|
|
api.GET("/permissions/", func(c *gin.Context) {
|
|
c.Redirect(301, "/api/permissions")
|
|
})
|
|
}
|
|
}
|