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

52 lines
1.4 KiB
TypeScript

import express from "express";
import {
mergeCodeAllTables,
getTablesWithColumn,
previewCodeMerge,
mergeCodeByValue,
previewMergeCodeByValue,
} from "../controllers/codeMergeController";
import { authenticateToken } from "../middleware/authMiddleware";
const router = express.Router();
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
/**
* POST /api/code-merge/merge-all-tables
* 코드 병합 실행 (모든 관련 테이블에 적용 - 같은 컬럼명만)
* Body: { columnName, oldValue, newValue }
*/
router.post("/merge-all-tables", mergeCodeAllTables);
/**
* GET /api/code-merge/tables-with-column/:columnName
* 특정 컬럼을 가진 테이블 목록 조회
*/
router.get("/tables-with-column/:columnName", getTablesWithColumn);
/**
* POST /api/code-merge/preview
* 코드 병합 미리보기 (같은 컬럼명 기준)
* Body: { columnName, oldValue }
*/
router.post("/preview", previewCodeMerge);
/**
* POST /api/code-merge/merge-by-value
* 값 기반 코드 병합 (모든 테이블의 모든 컬럼에서 해당 값을 찾아 변경)
* Body: { oldValue, newValue }
*/
router.post("/merge-by-value", mergeCodeByValue);
/**
* POST /api/code-merge/preview-by-value
* 값 기반 코드 병합 미리보기 (컬럼명 상관없이 값으로 검색)
* Body: { oldValue }
*/
router.post("/preview-by-value", previewMergeCodeByValue);
export default router;