feat: 휴가 부여현황 API 추가

- leave_grants 테이블 마이그레이션 추가
- LeaveGrant 모델 생성 (annual/monthly/reward/condolence/other 유형)
- LeaveService에 getGrants, storeGrant, destroyGrant 메서드 추가
- LeaveController에 grants, storeGrant, destroyGrant 엔드포인트 추가
- GET/POST/DELETE /api/v1/leaves/grants 라우트 추가
- 연차/월차 부여 시 LeaveBalance total_days 자동 갱신
This commit is contained in:
2025-12-24 19:39:33 +09:00
parent 3988372ca4
commit 01d9ccaf57
6 changed files with 363 additions and 0 deletions

View File

@@ -308,6 +308,9 @@
Route::get('/balance', [LeaveController::class, 'balance'])->name('v1.leaves.balance');
Route::get('/balance/{userId}', [LeaveController::class, 'userBalance'])->name('v1.leaves.userBalance');
Route::put('/balance', [LeaveController::class, 'setBalance'])->name('v1.leaves.setBalance');
Route::get('/grants', [LeaveController::class, 'grants'])->name('v1.leaves.grants');
Route::post('/grants', [LeaveController::class, 'storeGrant'])->name('v1.leaves.grants.store');
Route::delete('/grants/{id}', [LeaveController::class, 'destroyGrant'])->name('v1.leaves.grants.destroy');
Route::get('/{id}', [LeaveController::class, 'show'])->name('v1.leaves.show');
Route::patch('/{id}', [LeaveController::class, 'update'])->name('v1.leaves.update');
Route::delete('/{id}', [LeaveController::class, 'destroy'])->name('v1.leaves.destroy');