75 lines
2.4 KiB
TypeScript
75 lines
2.4 KiB
TypeScript
import { Router } from "express";
|
|
import {
|
|
getCategoryValueCascadingGroups,
|
|
getCategoryValueCascadingGroupById,
|
|
getCategoryValueCascadingByCode,
|
|
createCategoryValueCascadingGroup,
|
|
updateCategoryValueCascadingGroup,
|
|
deleteCategoryValueCascadingGroup,
|
|
saveCategoryValueCascadingMappings,
|
|
getCategoryValueCascadingOptions,
|
|
getCategoryValueCascadingParentOptions,
|
|
getCategoryValueCascadingChildOptions,
|
|
getCategoryValueCascadingMappingsByTable,
|
|
} from "../controllers/categoryValueCascadingController";
|
|
import { authenticateToken } from "../middleware/authMiddleware";
|
|
|
|
const router = Router();
|
|
|
|
// 모든 라우트에 인증 적용
|
|
router.use(authenticateToken);
|
|
|
|
// ============================================
|
|
// 카테고리 값 연쇄관계 그룹 CRUD
|
|
// ============================================
|
|
|
|
// 그룹 목록 조회
|
|
router.get("/groups", getCategoryValueCascadingGroups);
|
|
|
|
// 그룹 상세 조회 (ID)
|
|
router.get("/groups/:groupId", getCategoryValueCascadingGroupById);
|
|
|
|
// 관계 코드로 조회
|
|
router.get("/code/:code", getCategoryValueCascadingByCode);
|
|
|
|
// 그룹 생성
|
|
router.post("/groups", createCategoryValueCascadingGroup);
|
|
|
|
// 그룹 수정
|
|
router.put("/groups/:groupId", updateCategoryValueCascadingGroup);
|
|
|
|
// 그룹 삭제
|
|
router.delete("/groups/:groupId", deleteCategoryValueCascadingGroup);
|
|
|
|
// ============================================
|
|
// 카테고리 값 연쇄관계 매핑
|
|
// ============================================
|
|
|
|
// 매핑 일괄 저장
|
|
router.post("/groups/:groupId/mappings", saveCategoryValueCascadingMappings);
|
|
|
|
// ============================================
|
|
// 연쇄 옵션 조회 (실제 드롭다운에서 사용)
|
|
// ============================================
|
|
|
|
// 부모 카테고리 값 목록 조회
|
|
router.get("/parent-options/:code", getCategoryValueCascadingParentOptions);
|
|
|
|
// 자식 카테고리 값 목록 조회 (매핑 설정 UI용)
|
|
router.get("/child-options/:code", getCategoryValueCascadingChildOptions);
|
|
|
|
// 연쇄 옵션 조회 (부모 값 기반 자식 옵션)
|
|
router.get("/options/:code", getCategoryValueCascadingOptions);
|
|
|
|
// ============================================
|
|
// 테이블별 매핑 조회 (테이블 목록 표시용)
|
|
// ============================================
|
|
|
|
// 테이블명으로 해당 테이블의 모든 연쇄관계 매핑 조회
|
|
router.get(
|
|
"/table/:tableName/mappings",
|
|
getCategoryValueCascadingMappingsByTable
|
|
);
|
|
|
|
export default router;
|