feat:일정 첨부파일 기능 추가 (다중 업로드, 드래그앤드롭, GCS)

- DashboardCalendarController에 uploadFiles/deleteFile/downloadFile 추가
- 파일 업로드 라우트 3개 추가 (POST/DELETE/GET)
- 모달에 드래그앤드롭 파일 업로드 영역 추가
- XHR 진행률 표시, 파일 목록 렌더링, 개별 삭제
- Google Cloud Storage 연동 (가용시 자동 업로드)
- files 테이블 document_type='schedule' 활용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-10 20:36:22 +09:00
parent a4d6f1de74
commit 489a491415
3 changed files with 450 additions and 87 deletions

View File

@@ -631,6 +631,11 @@
Route::put('/dashboard/schedules/{id}', [\App\Http\Controllers\DashboardCalendarController::class, 'update'])->name('dashboard.schedules.update');
Route::delete('/dashboard/schedules/{id}', [\App\Http\Controllers\DashboardCalendarController::class, 'destroy'])->name('dashboard.schedules.destroy');
// 대시보드 일정 첨부파일
Route::post('/dashboard/schedules/{id}/files', [\App\Http\Controllers\DashboardCalendarController::class, 'uploadFiles'])->name('dashboard.schedules.files.upload');
Route::delete('/dashboard/schedules/{scheduleId}/files/{fileId}', [\App\Http\Controllers\DashboardCalendarController::class, 'deleteFile'])->name('dashboard.schedules.files.delete');
Route::get('/dashboard/schedules/{scheduleId}/files/{fileId}/download', [\App\Http\Controllers\DashboardCalendarController::class, 'downloadFile'])->name('dashboard.schedules.files.download');
// 루트 리다이렉트
Route::get('/', function () {
return redirect()->route('dashboard');