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

191 lines
4.8 KiB
TypeScript
Raw Normal View History

2025-08-25 14:08:08 +09:00
import express from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
getTableList,
getColumnList,
updateColumnSettings,
updateAllColumnSettings,
getTableLabels,
getColumnLabels,
2025-09-01 11:48:12 +09:00
updateColumnWebType,
2025-09-23 10:40:21 +09:00
updateColumnInputType,
2025-09-08 14:20:01 +09:00
updateTableLabel,
2025-09-03 15:23:12 +09:00
getTableData,
2025-11-04 14:33:39 +09:00
getTableRecord, // 🆕 단일 레코드 조회
2025-09-03 16:38:10 +09:00
addTableData,
editTableData,
deleteTableData,
getTableSchema,
checkTableExists,
getColumnWebTypes,
checkDatabaseConnection,
createLogTable,
getLogConfig,
getLogData,
toggleLogTable,
2025-08-25 14:08:08 +09:00
} from "../controllers/tableManagementController";
const router = express.Router();
2025-11-06 17:01:13 +09:00
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
2025-08-25 14:08:08 +09:00
/**
*
* GET /api/table-management/tables
*/
router.get("/tables", getTableList);
/**
*
* GET /api/table-management/tables/:tableName/columns
*/
router.get("/tables/:tableName/columns", getColumnList);
2025-09-08 14:20:01 +09:00
/**
*
* PUT /api/table-management/tables/:tableName/label
*/
router.put("/tables/:tableName/label", updateTableLabel);
2025-08-25 14:08:08 +09:00
/**
*
* 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);
2025-09-01 11:48:12 +09:00
/**
2025-09-23 10:40:21 +09:00
* ( )
2025-09-01 11:48:12 +09:00
* PUT /api/table-management/tables/:tableName/columns/:columnName/web-type
*/
router.put(
"/tables/:tableName/columns/:columnName/web-type",
updateColumnWebType
);
2025-09-23 10:40:21 +09:00
/**
* ( )
* PUT /api/table-management/tables/:tableName/columns/:columnName/input-type
*/
router.put(
"/tables/:tableName/columns/:columnName/input-type",
updateColumnInputType
);
/**
* (PUT )
* PUT /api/table-management/tables/:tableName/columns/:columnName
*/
router.put("/tables/:tableName/columns/:columnName", updateColumnSettings);
/**
*
* PUT /api/table-management/tables/:tableName/columns/batch
*/
router.put("/tables/:tableName/columns/batch", updateAllColumnSettings);
/**
* ( )
* GET /api/table-management/tables/:tableName/schema
*/
router.get("/tables/:tableName/schema", getTableSchema);
/**
*
* GET /api/table-management/tables/:tableName/exists
*/
router.get("/tables/:tableName/exists", checkTableExists);
/**
* ( )
* GET /api/table-management/tables/:tableName/web-types
*/
router.get("/tables/:tableName/web-types", getColumnWebTypes);
/**
*
* GET /api/table-management/health
*/
router.get("/health", checkDatabaseConnection);
2025-09-03 15:23:12 +09:00
/**
* ( + )
* POST /api/table-management/tables/:tableName/data
*/
router.post("/tables/:tableName/data", getTableData);
2025-11-04 14:33:39 +09:00
/**
* ( )
* POST /api/table-management/tables/:tableName/record
*/
router.post("/tables/:tableName/record", getTableRecord);
2025-09-03 16:38:10 +09:00
/**
*
* 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);
// ========================================
// 테이블 로그 시스템 API
// ========================================
/**
*
* POST /api/table-management/tables/:tableName/log
*/
router.post("/tables/:tableName/log", createLogTable);
/**
*
* GET /api/table-management/tables/:tableName/log/config
*/
router.get("/tables/:tableName/log/config", getLogConfig);
/**
*
* GET /api/table-management/tables/:tableName/log
*/
router.get("/tables/:tableName/log", getLogData);
/**
* /
* POST /api/table-management/tables/:tableName/log/toggle
*/
router.post("/tables/:tableName/log/toggle", toggleLogTable);
2025-08-25 14:08:08 +09:00
export default router;