73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
import { Router } from "express";
|
|
import componentStandardController from "../controllers/componentStandardController";
|
|
import { authenticateToken } from "../middleware/authMiddleware";
|
|
|
|
const router = Router();
|
|
|
|
// 모든 라우트에 인증 미들웨어 적용
|
|
router.use(authenticateToken);
|
|
|
|
// 컴포넌트 목록 조회
|
|
router.get(
|
|
"/",
|
|
componentStandardController.getComponents.bind(componentStandardController)
|
|
);
|
|
|
|
// 카테고리 목록 조회
|
|
router.get(
|
|
"/categories",
|
|
componentStandardController.getCategories.bind(componentStandardController)
|
|
);
|
|
|
|
// 통계 조회
|
|
router.get(
|
|
"/statistics",
|
|
componentStandardController.getStatistics.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 코드 중복 체크
|
|
router.get(
|
|
"/check-duplicate/:component_code",
|
|
componentStandardController.checkDuplicate.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 상세 조회
|
|
router.get(
|
|
"/:component_code",
|
|
componentStandardController.getComponent.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 생성
|
|
router.post(
|
|
"/",
|
|
componentStandardController.createComponent.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 수정
|
|
router.put(
|
|
"/:component_code",
|
|
componentStandardController.updateComponent.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 삭제
|
|
router.delete(
|
|
"/:component_code",
|
|
componentStandardController.deleteComponent.bind(componentStandardController)
|
|
);
|
|
|
|
// 정렬 순서 업데이트
|
|
router.put(
|
|
"/sort/order",
|
|
componentStandardController.updateSortOrder.bind(componentStandardController)
|
|
);
|
|
|
|
// 컴포넌트 복제
|
|
router.post(
|
|
"/duplicate",
|
|
componentStandardController.duplicateComponent.bind(
|
|
componentStandardController
|
|
)
|
|
);
|
|
|
|
export default router;
|