2025-09-04 14:23:35 +09:00
|
|
|
import express from "express";
|
|
|
|
|
import { authenticateToken } from "../middleware/authMiddleware";
|
|
|
|
|
import {
|
|
|
|
|
saveFormData,
|
2025-09-19 18:43:55 +09:00
|
|
|
saveFormDataEnhanced,
|
2025-09-04 14:23:35 +09:00
|
|
|
updateFormData,
|
2025-09-18 18:49:30 +09:00
|
|
|
updateFormDataPartial,
|
2025-09-04 14:23:35 +09:00
|
|
|
deleteFormData,
|
|
|
|
|
getFormData,
|
|
|
|
|
getFormDataList,
|
|
|
|
|
validateFormData,
|
|
|
|
|
getTableColumns,
|
2025-09-18 18:49:30 +09:00
|
|
|
getTablePrimaryKeys,
|
2025-09-04 14:23:35 +09:00
|
|
|
} from "../controllers/dynamicFormController";
|
|
|
|
|
|
|
|
|
|
const router = express.Router();
|
|
|
|
|
|
|
|
|
|
// 모든 라우트에 인증 미들웨어 적용
|
|
|
|
|
router.use(authenticateToken);
|
|
|
|
|
|
|
|
|
|
// 폼 데이터 CRUD
|
2025-09-19 18:43:55 +09:00
|
|
|
router.post("/save", saveFormData); // 기존 버전 (레거시 지원)
|
|
|
|
|
router.post("/save-enhanced", saveFormDataEnhanced); // 개선된 버전
|
2025-09-04 14:23:35 +09:00
|
|
|
router.put("/:id", updateFormData);
|
2025-09-18 18:49:30 +09:00
|
|
|
router.patch("/:id/partial", updateFormDataPartial); // 부분 업데이트
|
2025-09-04 14:23:35 +09:00
|
|
|
router.delete("/:id", deleteFormData);
|
|
|
|
|
router.get("/:id", getFormData);
|
|
|
|
|
|
|
|
|
|
// 화면별 폼 데이터 목록 조회
|
|
|
|
|
router.get("/screen/:screenId", getFormDataList);
|
|
|
|
|
|
|
|
|
|
// 폼 데이터 검증
|
|
|
|
|
router.post("/validate", validateFormData);
|
|
|
|
|
|
|
|
|
|
// 테이블 컬럼 정보 조회 (검증용)
|
|
|
|
|
router.get("/table/:tableName/columns", getTableColumns);
|
|
|
|
|
|
2025-09-18 18:49:30 +09:00
|
|
|
// 테이블 기본키 조회
|
|
|
|
|
router.get("/table/:tableName/primary-keys", getTablePrimaryKeys);
|
|
|
|
|
|
2025-09-04 14:23:35 +09:00
|
|
|
export default router;
|