/** * 다단계 계층 (Hierarchy) 라우트 */ import express from "express"; import { getHierarchyGroups, getHierarchyGroupDetail, createHierarchyGroup, updateHierarchyGroup, deleteHierarchyGroup, addLevel, updateLevel, deleteLevel, getLevelOptions, } from "../controllers/cascadingHierarchyController"; import { authenticateToken } from "../middleware/authMiddleware"; const router = express.Router(); // 인증 미들웨어 적용 router.use(authenticateToken); // ===================================================== // 계층 그룹 관리 API // ===================================================== // 그룹 목록 조회 router.get("/", getHierarchyGroups); // 그룹 상세 조회 (레벨 포함) router.get("/:groupCode", getHierarchyGroupDetail); // 그룹 생성 router.post("/", createHierarchyGroup); // 그룹 수정 router.put("/:groupCode", updateHierarchyGroup); // 그룹 삭제 router.delete("/:groupCode", deleteHierarchyGroup); // ===================================================== // 계층 레벨 관리 API // ===================================================== // 레벨 추가 router.post("/:groupCode/levels", addLevel); // 레벨 수정 router.put("/levels/:levelId", updateLevel); // 레벨 삭제 router.delete("/levels/:levelId", deleteLevel); // ===================================================== // 계층 옵션 조회 API (실제 사용) // ===================================================== // 특정 레벨의 옵션 조회 router.get("/:groupCode/options/:levelOrder", getLevelOptions); export default router;