48 lines
1.3 KiB
TypeScript
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;
|