feat: [시공관리] 계약관리 API 구현
- Contract 모델, 마이그레이션 추가 - ContractController CRUD 엔드포인트 구현 - ContractService 비즈니스 로직 구현 - ContractStoreRequest, ContractUpdateRequest 검증 추가 - Swagger API 문서 작성 - 라우트 등록 (GET/POST/PUT/DELETE) - 통계 및 단계별 건수 조회 API 추가 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
use App\Http\Controllers\Api\V1\ClassificationController;
|
||||
use App\Http\Controllers\Api\V1\ClientController;
|
||||
use App\Http\Controllers\Api\V1\ClientGroupController;
|
||||
use App\Http\Controllers\Api\V1\Construction\ContractController;
|
||||
use App\Http\Controllers\Api\V1\CommonController;
|
||||
use App\Http\Controllers\Api\V1\CompanyController;
|
||||
use App\Http\Controllers\Api\V1\DashboardController;
|
||||
@@ -419,6 +420,21 @@
|
||||
Route::delete('/{id}', [SiteController::class, 'destroy'])->whereNumber('id')->name('v1.sites.destroy');
|
||||
});
|
||||
|
||||
// Construction API (시공관리)
|
||||
Route::prefix('construction')->group(function () {
|
||||
// Contract API (계약관리)
|
||||
Route::prefix('contracts')->group(function () {
|
||||
Route::get('', [ContractController::class, 'index'])->name('v1.construction.contracts.index');
|
||||
Route::post('', [ContractController::class, 'store'])->name('v1.construction.contracts.store');
|
||||
Route::get('/stats', [ContractController::class, 'stats'])->name('v1.construction.contracts.stats');
|
||||
Route::get('/stage-counts', [ContractController::class, 'stageCounts'])->name('v1.construction.contracts.stage-counts');
|
||||
Route::delete('/bulk', [ContractController::class, 'bulkDestroy'])->name('v1.construction.contracts.bulk-destroy');
|
||||
Route::get('/{id}', [ContractController::class, 'show'])->whereNumber('id')->name('v1.construction.contracts.show');
|
||||
Route::put('/{id}', [ContractController::class, 'update'])->whereNumber('id')->name('v1.construction.contracts.update');
|
||||
Route::delete('/{id}', [ContractController::class, 'destroy'])->whereNumber('id')->name('v1.construction.contracts.destroy');
|
||||
});
|
||||
});
|
||||
|
||||
// Card API (카드 관리)
|
||||
Route::prefix('cards')->group(function () {
|
||||
Route::get('', [CardController::class, 'index'])->name('v1.cards.index');
|
||||
|
||||
Reference in New Issue
Block a user