- 인증 없는 임시 엔드포인트 삭제 (index.js, healthRoutes.js, publicPaths) - skipAuth 우회 라우트 삭제 (workAnalysis.js) - 하드코딩 유저 백도어 삭제 (routes/auth.js) - 안전체크 CRUD에 admin 권한 추가 (tbmRoutes.js) - deprecated shim 3개 삭제 + 8개 소비 파일 import 정리 (auth.js 직접 참조) - 미사용 pageAccessController, db.js, common/security.js 삭제 - escapeHtml() 5곳 로컬 중복 제거 → api-base.js 전역 사용 - userPageAccess_v2_v2 캐시 키 버그 수정 (app-init.js) - system3 .bak 파일 삭제, PROGRESS.md 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
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/:worker_id', AttendanceController.getWorkerVacationBalance);
|
|
|
|
// 월별 근태 통계
|
|
router.get('/monthly-stats', AttendanceController.getMonthlyAttendanceStats);
|
|
|
|
// 출근 체크 목록 조회 (아침용, 휴가 정보 포함)
|
|
router.get('/checkin-list', AttendanceController.getCheckinList);
|
|
|
|
// 출근 체크 일괄 저장
|
|
router.post('/checkins', AttendanceController.saveCheckins);
|
|
|
|
module.exports = router;
|