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

48 lines
1.3 KiB
TypeScript

import express from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
getScreens,
getScreen,
createScreen,
updateScreen,
deleteScreen,
getTables,
getTableColumns,
saveLayout,
getLayout,
generateScreenCode,
assignScreenToMenu,
getScreensByMenu,
unassignScreenFromMenu,
} from "../controllers/screenManagementController";
const router = express.Router();
// 모든 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
// 화면 관리
router.get("/screens", getScreens);
router.get("/screens/:id", getScreen);
router.post("/screens", createScreen);
router.put("/screens/:id", updateScreen);
router.delete("/screens/:id", deleteScreen);
// 화면 코드 자동 생성
router.get("/generate-screen-code/:companyCode", generateScreenCode);
// 테이블 관리
router.get("/tables", getTables);
router.get("/tables/:tableName/columns", getTableColumns);
// 레이아웃 관리
router.post("/screens/:screenId/layout", saveLayout);
router.get("/screens/:screenId/layout", getLayout);
// 메뉴-화면 할당 관리
router.post("/screens/:screenId/assign-menu", assignScreenToMenu);
router.get("/menus/:menuObjid/screens", getScreensByMenu);
router.delete("/screens/:screenId/menus/:menuObjid", unassignScreenFromMenu);
export default router;