- tksupport 행정지원 6페이지 권한 정의 추가 (indigo 테마) - tksupport 라우트에 requirePage() 미들웨어 적용 - tksafety 권한 2→8개 확장 (출입관리 4 + 교육/점검 4) - System1 안전관리 그룹 제거 (s1.safety.* 고아키) - System1 근태관리 휴가 5항목 제거 (tksupport로 통합) - 월간근태를 공장관리 그룹으로 이동 - System3 업무, tkuser 연차설정 백엔드 키 동기화 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
36 lines
1.4 KiB
JavaScript
36 lines
1.4 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const { requireAuth, requireAdmin, requirePage } = require('../middleware/auth');
|
|
const ctrl = require('../controllers/vacationController');
|
|
|
|
router.use(requireAuth);
|
|
|
|
// 참조 데이터
|
|
router.get('/types', ctrl.getVacationTypes);
|
|
|
|
// 휴가 신청
|
|
router.post('/requests', requirePage('support_vacation_request'), ctrl.createRequest);
|
|
router.get('/requests', ctrl.getRequests);
|
|
router.get('/requests/:id', ctrl.getRequestById);
|
|
router.put('/requests/:id', requirePage('support_vacation_request'), ctrl.updateRequest);
|
|
router.patch('/requests/:id/cancel', requirePage('support_vacation_request'), ctrl.cancelRequest);
|
|
|
|
// 승인 (관리자)
|
|
router.get('/pending', requireAdmin, ctrl.getPending);
|
|
router.patch('/requests/:id/approve', requireAdmin, requirePage('support_vacation_approval'), ctrl.approveRequest);
|
|
router.patch('/requests/:id/reject', requireAdmin, requirePage('support_vacation_approval'), ctrl.rejectRequest);
|
|
|
|
// 내 휴가 현황
|
|
router.get('/my-status', ctrl.getMyStatus);
|
|
|
|
// 잔여일
|
|
router.get('/balance', ctrl.getMyBalance);
|
|
router.get('/balance/all', requireAdmin, ctrl.getAllBalances);
|
|
router.get('/balance/:userId', requireAdmin, ctrl.getUserBalance);
|
|
router.post('/balance/allocate', requireAdmin, ctrl.allocateBalance);
|
|
|
|
// 사용자 목록 (관리자)
|
|
router.get('/users', requireAdmin, ctrl.getUsers);
|
|
|
|
module.exports = router;
|