group(function () { Route::post('/upload', [FileStorageController::class, 'upload'])->name('v1.files.upload'); // 파일 업로드 (임시) Route::post('/move', [FileStorageController::class, 'move'])->name('v1.files.move'); // 파일 이동 (temp → folder) Route::get('/', [FileStorageController::class, 'index'])->name('v1.files.index'); // 파일 목록 Route::get('/trash', [FileStorageController::class, 'trash'])->name('v1.files.trash'); // 휴지통 목록 Route::get('/{id}', [FileStorageController::class, 'show'])->name('v1.files.show'); // 파일 상세 Route::get('/{id}/download', [FileStorageController::class, 'download'])->name('v1.files.download'); // 파일 다운로드 Route::delete('/{id}', [FileStorageController::class, 'destroy'])->name('v1.files.destroy'); // 파일 삭제 (soft) Route::post('/{id}/restore', [FileStorageController::class, 'restore'])->name('v1.files.restore'); // 파일 복구 Route::delete('/{id}/permanent', [FileStorageController::class, 'permanentDelete'])->name('v1.files.permanent'); // 파일 영구 삭제 Route::post('/{id}/share', [FileStorageController::class, 'createShareLink'])->name('v1.files.share'); // 공유 링크 생성 }); // 저장소 사용량 Route::get('/storage/usage', [FileStorageController::class, 'storageUsage'])->name('v1.storage.usage'); // 폴더 관리 API Route::prefix('folders')->group(function () { Route::get('/', [FolderController::class, 'index'])->name('v1.folders.index'); // 폴더 목록 Route::post('/', [FolderController::class, 'store'])->name('v1.folders.store'); // 폴더 생성 Route::get('/{id}', [FolderController::class, 'show'])->name('v1.folders.show'); // 폴더 상세 Route::put('/{id}', [FolderController::class, 'update'])->name('v1.folders.update'); // 폴더 수정 Route::delete('/{id}', [FolderController::class, 'destroy'])->name('v1.folders.destroy'); // 폴더 삭제/비활성화 Route::post('/reorder', [FolderController::class, 'reorder'])->name('v1.folders.reorder'); // 폴더 순서 변경 }); // 공유 링크 다운로드 (인증 불필요 - 메인 api.php에서 v1 그룹 밖으로 분리) // Route::get('/files/share/{token}', [FileStorageController::class, 'downloadShared'])->name('v1.files.share.download');