group(function () { Route::get('/', [DocumentTemplateController::class, 'index'])->name('v1.document-templates.index'); Route::get('/{id}', [DocumentTemplateController::class, 'show'])->whereNumber('id')->name('v1.document-templates.show'); }); // 문서 CRUD + 결재 Route::prefix('documents')->group(function () { // Resolve/Upsert (React 연동용) Route::get('/resolve', [DocumentController::class, 'resolve'])->name('v1.documents.resolve'); Route::post('/upsert', [DocumentController::class, 'upsert'])->name('v1.documents.upsert'); // 문서 CRUD Route::get('/', [DocumentController::class, 'index'])->name('v1.documents.index'); Route::get('/{id}', [DocumentController::class, 'show'])->whereNumber('id')->name('v1.documents.show'); Route::post('/', [DocumentController::class, 'store'])->name('v1.documents.store'); Route::patch('/{id}', [DocumentController::class, 'update'])->whereNumber('id')->name('v1.documents.update'); Route::delete('/{id}', [DocumentController::class, 'destroy'])->whereNumber('id')->name('v1.documents.destroy'); // 결재 워크플로우 Route::post('/{id}/submit', [DocumentController::class, 'submit'])->whereNumber('id')->name('v1.documents.submit'); Route::post('/{id}/approve', [DocumentController::class, 'approve'])->whereNumber('id')->name('v1.documents.approve'); Route::post('/{id}/reject', [DocumentController::class, 'reject'])->whereNumber('id')->name('v1.documents.reject'); Route::post('/{id}/cancel', [DocumentController::class, 'cancel'])->whereNumber('id')->name('v1.documents.cancel'); });