const express = require('express'); const router = express.Router(); const AttendanceController = require('../controllers/attendanceController'); const { verifyToken } = require('../middlewares/auth'); // 모든 라우트에 인증 미들웨어 적용 router.use(verifyToken); // 일일 근태 현황 조회 (대시보드용) router.get('/daily-status', AttendanceController.getDailyAttendanceStatus); // 일일 근태 기록 조회 router.get('/daily-records', AttendanceController.getDailyAttendanceRecords); // 기간별 근태 기록 조회 (월별 조회용) router.get('/records', AttendanceController.getAttendanceRecordsByRange); // 근태 기록 생성/업데이트 router.post('/records', AttendanceController.upsertAttendanceRecord); router.put('/records', AttendanceController.upsertAttendanceRecord); // 휴가 처리 router.post('/vacation', AttendanceController.processVacation); // 초과근무 승인 router.post('/overtime/approve', AttendanceController.approveOvertime); // 근로 유형 목록 조회 router.get('/attendance-types', AttendanceController.getAttendanceTypes); // 휴가 유형 목록 조회 router.get('/vacation-types', AttendanceController.getVacationTypes); // 작업자 휴가 잔여 조회 router.get('/vacation-balance/:user_id', AttendanceController.getWorkerVacationBalance); // 월별 근태 통계 router.get('/monthly-stats', AttendanceController.getMonthlyAttendanceStats); // 출근 체크 목록 조회 (아침용, 휴가 정보 포함) router.get('/checkin-list', AttendanceController.getCheckinList); // 출근 체크 일괄 저장 router.post('/checkins', AttendanceController.saveCheckins); module.exports = router;