화면관리 중간 커밋
This commit is contained in:
159
backend-node/src/routes/screenManagementRoutes.ts
Normal file
159
backend-node/src/routes/screenManagementRoutes.ts
Normal file
@@ -0,0 +1,159 @@
|
||||
import express from "express";
|
||||
import { ScreenManagementController } from "../controllers/screenManagementController";
|
||||
import { authenticateToken } from "../middleware/authMiddleware";
|
||||
|
||||
const router = express.Router();
|
||||
const screenController = new ScreenManagementController();
|
||||
|
||||
// 모든 라우트에 인증 미들웨어 적용
|
||||
router.use(authenticateToken);
|
||||
|
||||
// ========================================
|
||||
// 화면 정의 관리
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* @route POST /screens
|
||||
* @desc 새 화면 생성
|
||||
* @access Private
|
||||
*/
|
||||
router.post("/screens", screenController.createScreen.bind(screenController));
|
||||
|
||||
/**
|
||||
* @route GET /screens
|
||||
* @desc 회사별 화면 목록 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get("/screens", screenController.getScreens.bind(screenController));
|
||||
|
||||
/**
|
||||
* @route GET /screens/:screenId
|
||||
* @desc 특정 화면 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get(
|
||||
"/screens/:screenId",
|
||||
screenController.getScreen.bind(screenController)
|
||||
);
|
||||
|
||||
/**
|
||||
* @route PUT /screens/:screenId
|
||||
* @desc 화면 정보 수정
|
||||
* @access Private
|
||||
*/
|
||||
router.put(
|
||||
"/screens/:screenId",
|
||||
screenController.updateScreen.bind(screenController)
|
||||
);
|
||||
|
||||
/**
|
||||
* @route DELETE /screens/:screenId
|
||||
* @desc 화면 삭제
|
||||
* @access Private
|
||||
*/
|
||||
router.delete(
|
||||
"/screens/:screenId",
|
||||
screenController.deleteScreen.bind(screenController)
|
||||
);
|
||||
|
||||
// ========================================
|
||||
// 레이아웃 관리
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* @route GET /screens/:screenId/layout
|
||||
* @desc 화면 레이아웃 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get(
|
||||
"/screens/:screenId/layout",
|
||||
screenController.getLayout.bind(screenController)
|
||||
);
|
||||
|
||||
/**
|
||||
* @route POST /screens/:screenId/layout
|
||||
* @desc 화면 레이아웃 저장
|
||||
* @access Private
|
||||
*/
|
||||
router.post(
|
||||
"/screens/:screenId/layout",
|
||||
screenController.saveLayout.bind(screenController)
|
||||
);
|
||||
|
||||
// ========================================
|
||||
// 템플릿 관리
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* @route GET /templates
|
||||
* @desc 회사별 템플릿 목록 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get("/templates", screenController.getTemplates.bind(screenController));
|
||||
|
||||
/**
|
||||
* @route POST /templates
|
||||
* @desc 새 템플릿 생성
|
||||
* @access Private
|
||||
*/
|
||||
router.post(
|
||||
"/templates",
|
||||
screenController.createTemplate.bind(screenController)
|
||||
);
|
||||
|
||||
// ========================================
|
||||
// 메뉴 할당 관리
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* @route POST /screens/:screenId/menu-assignments
|
||||
* @desc 화면을 메뉴에 할당
|
||||
* @access Private
|
||||
*/
|
||||
router.post(
|
||||
"/screens/:screenId/menu-assignments",
|
||||
screenController.assignScreenToMenu.bind(screenController)
|
||||
);
|
||||
|
||||
/**
|
||||
* @route GET /menus/:menuObjid/screens
|
||||
* @desc 메뉴별 할당된 화면 목록 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get(
|
||||
"/menus/:menuObjid/screens",
|
||||
screenController.getScreensByMenu.bind(screenController)
|
||||
);
|
||||
|
||||
// ========================================
|
||||
// 테이블 타입 연계
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* @route GET /tables
|
||||
* @desc 사용 가능한 테이블 목록 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get("/tables", screenController.getTables.bind(screenController));
|
||||
|
||||
/**
|
||||
* @route GET /tables/:tableName/columns
|
||||
* @desc 테이블의 컬럼 정보 조회
|
||||
* @access Private
|
||||
*/
|
||||
router.get(
|
||||
"/tables/:tableName/columns",
|
||||
screenController.getTableColumns.bind(screenController)
|
||||
);
|
||||
|
||||
/**
|
||||
* @route PUT /tables/:tableName/columns/:columnName/web-type
|
||||
* @desc 컬럼의 웹 타입 설정
|
||||
* @access Private
|
||||
*/
|
||||
router.put(
|
||||
"/tables/:tableName/columns/:columnName/web-type",
|
||||
screenController.setColumnWebType.bind(screenController)
|
||||
);
|
||||
|
||||
export default router;
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
updateAllColumnSettings,
|
||||
getTableLabels,
|
||||
getColumnLabels,
|
||||
updateColumnWebType,
|
||||
} from "../controllers/tableManagementController";
|
||||
|
||||
const router = express.Router();
|
||||
@@ -53,4 +54,13 @@ router.get("/tables/:tableName/labels", getTableLabels);
|
||||
*/
|
||||
router.get("/tables/:tableName/columns/:columnName/labels", getColumnLabels);
|
||||
|
||||
/**
|
||||
* 컬럼 웹 타입 설정
|
||||
* PUT /api/table-management/tables/:tableName/columns/:columnName/web-type
|
||||
*/
|
||||
router.put(
|
||||
"/tables/:tableName/columns/:columnName/web-type",
|
||||
updateColumnWebType
|
||||
);
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user