테이블 관계 저장 구현

This commit is contained in:
hyeonsu
2025-09-08 16:46:53 +09:00
parent 37fac630b9
commit 0bdfb2ba92
9 changed files with 1980 additions and 166 deletions

View File

@@ -0,0 +1,72 @@
import express from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
createTableRelationship,
getTableRelationships,
getTableRelationship,
updateTableRelationship,
deleteTableRelationship,
createDataLink,
getLinkedDataByRelationship,
deleteDataLink,
} from "../controllers/dataflowController";
const router = express.Router();
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
/**
* 테이블 관계 생성
* POST /api/dataflow/table-relationships
*/
router.post("/table-relationships", createTableRelationship);
/**
* 테이블 관계 목록 조회 (회사별)
* GET /api/dataflow/table-relationships
*/
router.get("/table-relationships", getTableRelationships);
/**
* 특정 테이블 관계 조회
* GET /api/dataflow/table-relationships/:relationshipId
*/
router.get("/table-relationships/:relationshipId", getTableRelationship);
/**
* 테이블 관계 수정
* PUT /api/dataflow/table-relationships/:relationshipId
*/
router.put("/table-relationships/:relationshipId", updateTableRelationship);
/**
* 테이블 관계 삭제
* DELETE /api/dataflow/table-relationships/:relationshipId
*/
router.delete("/table-relationships/:relationshipId", deleteTableRelationship);
// ==================== 데이터 연결 관리 라우트 ====================
/**
* 데이터 연결 생성
* POST /api/dataflow/data-links
*/
router.post("/data-links", createDataLink);
/**
* 관계별 연결된 데이터 조회
* GET /api/dataflow/data-links/relationship/:relationshipId
*/
router.get(
"/data-links/relationship/:relationshipId",
getLinkedDataByRelationship
);
/**
* 데이터 연결 삭제
* DELETE /api/dataflow/data-links/:bridgeId
*/
router.delete("/data-links/:bridgeId", deleteDataLink);
export default router;