72 lines
1.6 KiB
TypeScript
72 lines
1.6 KiB
TypeScript
/**
|
|
* 다단계 계층 (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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|