/**
 * vacationBalanceRoutes.js
 * 휴가 잔액 관련 라우트
 */

const express = require('express');
const router = express.Router();
const vacationBalanceController = require('../controllers/vacationBalanceController');

// 모든 작업자의 휴가 잔액 조회 (특정 연도)
router.get('/year/:year', vacationBalanceController.getAllByYear);

// 특정 작업자의 휴가 잔액 조회 (특정 연도)
router.get('/worker/:userId/year/:year', vacationBalanceController.getByWorkerAndYear);

// 작업자의 사용 가능한 휴가 일수 조회
router.get('/worker/:userId/year/:year/available', vacationBalanceController.getAvailableDays);

// 근속년수 기반 연차 자동 계산 및 생성 (관리자만)
router.post('/auto-calculate', vacationBalanceController.autoCalculateAndCreate);

// 휴가 잔액 생성 (관리자만)
router.post('/', vacationBalanceController.createBalance);

// 휴가 잔액 일괄 저장 (upsert)
router.post('/bulk-upsert', vacationBalanceController.bulkUpsert);

// 휴가 잔액 수정 (관리자만)
router.put('/:id', vacationBalanceController.updateBalance);

// 휴가 잔액 삭제 (관리자만)
router.delete('/:id', vacationBalanceController.deleteBalance);

module.exports = router;
