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

47 lines
1.4 KiB
TypeScript

import { Router } from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import * as departmentController from "../controllers/departmentController";
const router = Router();
// 인증 미들웨어 적용
router.use(authenticateToken);
/**
* 부서 관리 API 라우트
* 기본 경로: /api/departments
*/
// 부서 목록 조회 (회사별)
router.get("/companies/:companyCode/departments", departmentController.getDepartments);
// 부서 상세 조회
router.get("/:deptCode", departmentController.getDepartment);
// 부서 생성
router.post("/companies/:companyCode/departments", departmentController.createDepartment);
// 부서 수정
router.put("/:deptCode", departmentController.updateDepartment);
// 부서 삭제
router.delete("/:deptCode", departmentController.deleteDepartment);
// 부서원 목록 조회
router.get("/:deptCode/members", departmentController.getDepartmentMembers);
// 사용자 검색 (부서원 추가용)
router.get("/companies/:companyCode/users/search", departmentController.searchUsers);
// 부서원 추가
router.post("/:deptCode/members", departmentController.addDepartmentMember);
// 부서원 제거
router.delete("/:deptCode/members/:userId", departmentController.removeDepartmentMember);
// 주 부서 설정
router.put("/:deptCode/members/:userId/primary", departmentController.setPrimaryDepartment);
export default router;