Files
tk-factory-services/system1-factory/api/routes/attendanceRoutes.js
Hyungi Ahn abd7564e6b refactor: worker_id → user_id 전체 마이그레이션 (Phase 1-4)
sso_users.user_id를 단일 식별자로 통합. JWT에서 worker_id 제거,
department_id/is_production 추가. 백엔드 15개 모델, 11개 컨트롤러,
4개 서비스, 7개 라우트, 프론트엔드 32+ JS/11+ HTML 변환.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:13:10 +09:00

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/:user_id', AttendanceController.getWorkerVacationBalance);
// 월별 근태 통계
router.get('/monthly-stats', AttendanceController.getMonthlyAttendanceStats);
// 출근 체크 목록 조회 (아침용, 휴가 정보 포함)
router.get('/checkin-list', AttendanceController.getCheckinList);
// 출근 체크 일괄 저장
router.post('/checkins', AttendanceController.saveCheckins);
module.exports = router;