import express from "express"; import { authenticateToken } from "../middleware/authMiddleware"; import { getScreens, getScreen, createScreen, updateScreen, deleteScreen, getTables, getTableInfo, 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", getTableInfo); // 특정 테이블 정보 조회 (최적화) 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;