import express from "express"; import { authenticateToken } from "../middleware/authMiddleware"; import { getTableList, getColumnList, updateColumnSettings, updateAllColumnSettings, getTableLabels, getColumnLabels, updateColumnWebType, updateTableLabel, getTableData, addTableData, editTableData, deleteTableData, } from "../controllers/tableManagementController"; const router = express.Router(); // 모든 라우트에 인증 미들웨어 적용 (테스트 시에는 주석 처리) // router.use(authenticateToken); /** * 테이블 목록 조회 * GET /api/table-management/tables */ router.get("/tables", getTableList); /** * 테이블 컬럼 정보 조회 * GET /api/table-management/tables/:tableName/columns */ router.get("/tables/:tableName/columns", getColumnList); /** * 테이블 라벨 설정 * PUT /api/table-management/tables/:tableName/label */ router.put("/tables/:tableName/label", updateTableLabel); /** * 개별 컬럼 설정 업데이트 * POST /api/table-management/tables/:tableName/columns/:columnName/settings */ router.post( "/tables/:tableName/columns/:columnName/settings", updateColumnSettings ); /** * 전체 컬럼 설정 일괄 업데이트 * POST /api/table-management/tables/:tableName/columns/settings */ router.post("/tables/:tableName/columns/settings", updateAllColumnSettings); /** * 테이블 라벨 정보 조회 * GET /api/table-management/tables/:tableName/labels */ router.get("/tables/:tableName/labels", getTableLabels); /** * 컬럼 라벨 정보 조회 * GET /api/table-management/tables/:tableName/columns/:columnName/labels */ router.get("/tables/:tableName/columns/:columnName/labels", getColumnLabels); /** * 컬럼 웹 타입 설정 * PUT /api/table-management/tables/:tableName/columns/:columnName/web-type */ router.put( "/tables/:tableName/columns/:columnName/web-type", updateColumnWebType ); /** * 테이블 데이터 조회 (페이징 + 검색) * POST /api/table-management/tables/:tableName/data */ router.post("/tables/:tableName/data", getTableData); /** * 테이블 데이터 추가 * POST /api/table-management/tables/:tableName/add */ router.post("/tables/:tableName/add", addTableData); /** * 테이블 데이터 수정 * PUT /api/table-management/tables/:tableName/edit */ router.put("/tables/:tableName/edit", editTableData); /** * 테이블 데이터 삭제 * DELETE /api/table-management/tables/:tableName/delete */ router.delete("/tables/:tableName/delete", deleteTableData); export default router;