You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.8 KiB
45 lines
1.8 KiB
package routes |
|
|
|
import ( |
|
"gofaster/internal/auth/controller" |
|
"gofaster/internal/auth/repository" |
|
"gofaster/internal/auth/service" |
|
"gofaster/internal/shared/middleware" |
|
|
|
"github.com/gin-gonic/gin" |
|
"go.uber.org/zap" |
|
"gorm.io/gorm" |
|
) |
|
|
|
func RegisterMenuGroupRoutes(router *gin.RouterGroup, db *gorm.DB, logger *zap.Logger) { |
|
// 初始化依赖 |
|
menuGroupRepo := repository.NewMenuGroupRepository(db) |
|
menuGroupService := service.NewMenuGroupService(menuGroupRepo, logger) |
|
menuGroupController := controller.NewMenuGroupController(menuGroupService, logger) |
|
|
|
// 菜单分组管理路由组 |
|
menuGroupGroup := router.Group("/menu-groups") |
|
{ |
|
// 需要权限验证的路由 |
|
menuGroupGroup.Use(middleware.JWTAuth()) // 暂时只检查JWT,不检查权限 |
|
{ |
|
// 菜单分组CRUD操作 |
|
menuGroupGroup.GET("", menuGroupController.ListMenuGroups) // 获取菜单分组列表 |
|
menuGroupGroup.POST("", menuGroupController.CreateMenuGroup) // 创建菜单分组 |
|
menuGroupGroup.GET("/:id", menuGroupController.GetMenuGroup) // 获取菜单分组详情 |
|
menuGroupGroup.PUT("/:id", menuGroupController.UpdateMenuGroup) // 更新菜单分组 |
|
menuGroupGroup.DELETE("/:id", menuGroupController.DeleteMenuGroup) // 删除菜单分组 |
|
|
|
// 批量操作 |
|
menuGroupGroup.POST("/batch-delete", menuGroupController.BatchDeleteMenuGroups) // 批量删除菜单分组 |
|
menuGroupGroup.PUT("/batch-sort", menuGroupController.BatchUpdateMenuGroupSort) // 批量更新排序 |
|
|
|
// 状态和排序管理 |
|
menuGroupGroup.PUT("/:id/status", menuGroupController.UpdateMenuGroupStatus) // 更新状态 |
|
menuGroupGroup.PUT("/:id/sort", menuGroupController.UpdateMenuGroupSort) // 更新排序 |
|
|
|
// 统计信息 |
|
menuGroupGroup.GET("/stats", menuGroupController.GetMenuGroupStats) // 获取统计信息 |
|
} |
|
} |
|
}
|
|
|