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;