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.
 
 
 
 
 
 

52 lines
2.0 KiB

package routes
import (
"gofaster/internal/auth/controller"
"gofaster/internal/shared/middleware"
"github.com/gin-gonic/gin"
)
// RegisterMenuRouteRoutes 注册菜单路由关联表路由
func RegisterMenuRouteRoutes(r *gin.RouterGroup, menuRouteController *controller.MenuRouteController) {
// 菜单路由关联表路由组
menuRouteGroup := r.Group("/menu-routes")
{
// 需要认证的接口
menuRouteGroup.Use(middleware.JWTAuth())
{
// 基础CRUD操作
menuRouteGroup.POST("", menuRouteController.CreateMenuRoute) // 创建菜单路由关联
menuRouteGroup.GET("", menuRouteController.ListMenuRoutes) // 获取菜单路由关联列表
menuRouteGroup.PUT("/:id", menuRouteController.UpdateMenuRoute) // 更新菜单路由关联
menuRouteGroup.DELETE("/:id", menuRouteController.DeleteMenuRoute) // 删除菜单路由关联
}
}
// 菜单相关路由
menuGroup := r.Group("/menus")
{
// 需要认证的接口
menuGroup.Use(middleware.JWTAuth())
{
// 菜单路由关联操作
menuGroup.POST("/:menuID/routes", menuRouteController.CreateMenuRoutes) // 批量创建菜单路由关联
menuGroup.GET("/:menuID/routes", menuRouteController.GetMenuRoutes) // 获取菜单的路由关联
menuGroup.GET("/:menuID/routes/detail", menuRouteController.GetMenuWithRoutes) // 获取菜单及其关联的路由信息
menuGroup.DELETE("/:menuID/routes", menuRouteController.DeleteMenuRoutes) // 删除菜单的所有路由关联
menuGroup.POST("/:menuID/routes/sync", menuRouteController.SyncMenuRoutes) // 同步菜单路由关联
}
}
// 路由映射相关路由
routeMappingGroup := r.Group("/route-mappings")
{
// 需要认证的接口
routeMappingGroup.Use(middleware.JWTAuth())
{
// 路由菜单关联操作
routeMappingGroup.GET("/:routeMappingID/menus", menuRouteController.GetRouteMenus) // 获取路由的菜单关联
routeMappingGroup.GET("/:routeMappingID/menus/detail", menuRouteController.GetRouteWithMenus) // 获取路由及其关联的菜单信息
}
}
}