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

42 lines
1.2 KiB
TypeScript
Raw Normal View History

import express from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
saveFormData,
saveFormDataEnhanced,
updateFormData,
2025-09-18 18:49:30 +09:00
updateFormDataPartial,
deleteFormData,
getFormData,
getFormDataList,
validateFormData,
getTableColumns,
2025-09-18 18:49:30 +09:00
getTablePrimaryKeys,
} from "../controllers/dynamicFormController";
const router = express.Router();
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
// 폼 데이터 CRUD
router.post("/save", saveFormData); // 기존 버전 (레거시 지원)
router.post("/save-enhanced", saveFormDataEnhanced); // 개선된 버전
router.put("/:id", updateFormData);
2025-09-18 18:49:30 +09:00
router.patch("/:id/partial", updateFormDataPartial); // 부분 업데이트
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);
export default router;