From e06b0637fa52200e0b9e3f0ed7028a4efb4ade15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Wed, 28 Jan 2026 21:29:10 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=AC=B8=EC=84=9C=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20Route=20=EB=B0=8F=20Swagger=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=20(Phase=201.8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Document API Route 등록 (CRUD 5개 엔드포인트) - Swagger 문서 작성 (Document, DocumentApproval, DocumentData, DocumentAttachment 스키마) Co-Authored-By: Claude --- app/Swagger/v1/DocumentApi.php | 337 +++++++++++++++++++++++++++++++++ routes/api.php | 1 + routes/api/v1/documents.php | 26 +++ 3 files changed, 364 insertions(+) create mode 100644 app/Swagger/v1/DocumentApi.php create mode 100644 routes/api/v1/documents.php diff --git a/app/Swagger/v1/DocumentApi.php b/app/Swagger/v1/DocumentApi.php new file mode 100644 index 0000000..fa6383c --- /dev/null +++ b/app/Swagger/v1/DocumentApi.php @@ -0,0 +1,337 @@ +group(function () { + // 문서 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'])->name('v1.documents.submit'); + // Route::post('/{id}/approve', [DocumentController::class, 'approve'])->name('v1.documents.approve'); + // Route::post('/{id}/reject', [DocumentController::class, 'reject'])->name('v1.documents.reject'); + // Route::post('/{id}/cancel', [DocumentController::class, 'cancel'])->name('v1.documents.cancel'); +});