package routes import ( "gofaster/internal/auth/controller" "gofaster/internal/auth/repository" "gofaster/internal/auth/service" "gofaster/internal/shared/middleware" "github.com/gin-gonic/gin" "gorm.io/gorm" ) func RegisterRoleRoutes(router *gin.RouterGroup, db *gorm.DB, jwtSecret string) { // 初始化依赖 roleRepo := repository.NewRoleRepository(db) roleService := service.NewRoleService(roleRepo) roleController := controller.NewRoleController(roleService) // 角色管理路由组 roleGroup := router.Group("/roles") { // 需要权限验证的路由 roleGroup.Use(middleware.AuthMiddleware(jwtSecret)) { // 角色CRUD操作 roleGroup.GET("", roleController.ListRoles) // 获取角色列表 roleGroup.POST("", roleController.CreateRole) // 创建角色 roleGroup.GET("/:id", roleController.GetRole) // 获取角色详情 roleGroup.PUT("/:id", roleController.UpdateRole) // 更新角色 roleGroup.DELETE("/:id", roleController.DeleteRole) // 删除角色 // 角色分配相关 roleGroup.POST("/users/:userId/assign", roleController.AssignRolesToUser) // 为用户分配角色 roleGroup.GET("/users/:userId", roleController.GetUserRoles) // 获取用户的角色列表 roleGroup.DELETE("/users/:userId/remove", roleController.RemoveRolesFromUser) // 从用户移除角色 } } }