const express = require('express'); const router = express.Router(); const { requireAuth, requireAdmin } = require('../middleware/auth'); const ctrl = require('../controllers/vacationController'); router.use(requireAuth); // 참조 데이터 router.get('/types', ctrl.getVacationTypes); // 휴가 신청 router.post('/requests', ctrl.createRequest); router.get('/requests', ctrl.getRequests); router.get('/requests/:id', ctrl.getRequestById); router.put('/requests/:id', ctrl.updateRequest); router.patch('/requests/:id/cancel', ctrl.cancelRequest); // 승인 (관리자) router.get('/pending', requireAdmin, ctrl.getPending); router.patch('/requests/:id/approve', requireAdmin, ctrl.approveRequest); router.patch('/requests/:id/reject', requireAdmin, ctrl.rejectRequest); // 잔여일 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;