feat:문서관리 Phase 4.1 - DocumentTemplate API + 결재 워크플로우 활성화
- DocumentTemplate 모델 6개 생성 (Template, ApprovalLine, BasicField, Section, SectionItem, Column)
- DocumentTemplateService (list/show) + DocumentTemplateController (index/show)
- GET /v1/document-templates, GET /v1/document-templates/{id} 라우트
- DocumentTemplateApi.php Swagger (7개 스키마, 2개 엔드포인트)
- Document 결재 워크플로우 4개 엔드포인트 활성화 (submit/approve/reject/cancel)
- ApproveRequest, RejectRequest FormRequest 생성
- DocumentApi.php Swagger에 결재 엔드포인트 4개 추가
- Document.template() 참조 경로 수정 (DocumentTemplate → Documents 네임스페이스)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,13 +3,22 @@
|
||||
/**
|
||||
* 문서 관리 API 라우트 (v1)
|
||||
*
|
||||
* - 문서 양식(템플릿) 조회
|
||||
* - 문서 CRUD
|
||||
* - 결재 워크플로우 (보류 - 기존 시스템 연동 필요)
|
||||
* - 결재 워크플로우
|
||||
*/
|
||||
|
||||
use App\Http\Controllers\Api\V1\Documents\DocumentController;
|
||||
use App\Http\Controllers\Api\V1\Documents\DocumentTemplateController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// 문서 양식(템플릿) - 읽기 전용
|
||||
Route::prefix('document-templates')->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 () {
|
||||
// 문서 CRUD
|
||||
Route::get('/', [DocumentController::class, 'index'])->name('v1.documents.index');
|
||||
@@ -18,9 +27,9 @@
|
||||
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');
|
||||
});
|
||||
// 결재 워크플로우
|
||||
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');
|
||||
});
|
||||
Reference in New Issue
Block a user