ERP-node/backend-node/src/routes/cascadingHierarchyRoutes.ts

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;