package router

import (
	"cold-delivery/app/admin/controller"
	"cold-delivery/common/actions"

	"github.com/gin-gonic/gin"
	jwt "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth"
)

func init() {
	routerCheckRole = append(routerCheckRole, registerSysPostRouter)
}

// registerSysPostRouter 注册岗位管理路由
func registerSysPostRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
	cont := controller.SysPostController{}

	r := v1.Group("/post").Use(authMiddleware.MiddlewareFunc()).Use(actions.PermissionAction())
	{
		r.GET("", cont.GetPage)                     // 分页查询岗位
		r.GET("/all", cont.GetAll)                  // 获取所有岗位（下拉用）
		r.GET("/menu-tree", cont.GetMenuTree)       // 获取菜单权限树
		r.GET("/names", cont.GetPostNames)          // 根据ID列表获取岗位名称映射
		r.GET("/:id/menu-ids", cont.GetPostMenuIds) // 获取岗位已分配菜单ID
		r.GET("/:id", cont.Get)                     // 获取岗位详情（放在最后，避免匹配 /menu-tree 等）
		r.POST("", cont.Insert)                     // 新增岗位
		r.PUT("", cont.Update)                      // 修改岗位
		r.DELETE("", cont.Delete)                   // 删除岗位（逻辑删除）
	}
}
