feat:테넌트설정 API 및 다수 서비스 개선

- TenantSetting CRUD API 추가
- Calendar, Entertainment, VAT 서비스 개선
- 5130 BOM 계산 로직 수정
- quote_items에 item_type 컬럼 추가
- tenant_settings 테이블 마이그레이션
- Swagger 문서 업데이트
This commit is contained in:
2026-01-26 20:29:22 +09:00
parent f2da990771
commit 6d05ab815f
54 changed files with 2090 additions and 110 deletions

View File

@@ -107,6 +107,7 @@
use App\Http\Controllers\Api\V1\TenantFieldSettingController;
use App\Http\Controllers\Api\V1\TenantOptionGroupController;
use App\Http\Controllers\Api\V1\TenantOptionValueController;
use App\Http\Controllers\Api\V1\TenantSettingController;
use App\Http\Controllers\Api\V1\TenantStatFieldController;
// 모델셋 관리 (견적 시스템)
use App\Http\Controllers\Api\V1\TenantUserProfileController;
@@ -241,6 +242,16 @@
Route::put('/bulk-upsert', [TenantStatFieldController::class, 'bulkUpsert'])->name('v1.tenant-stat-fields.bulk-upsert'); // 일괄 저장
});
// Tenant Settings API (테넌트별 설정)
Route::prefix('tenant-settings')->group(function () {
Route::get('/', [TenantSettingController::class, 'index'])->name('v1.tenant-settings.index'); // 전체 설정 조회
Route::post('/', [TenantSettingController::class, 'store'])->name('v1.tenant-settings.store'); // 설정 저장
Route::put('/bulk', [TenantSettingController::class, 'bulkUpdate'])->name('v1.tenant-settings.bulk'); // 일괄 저장
Route::post('/initialize', [TenantSettingController::class, 'initialize'])->name('v1.tenant-settings.initialize'); // 기본 설정 초기화
Route::get('/{group}/{key}', [TenantSettingController::class, 'show'])->name('v1.tenant-settings.show'); // 단일 설정 조회
Route::delete('/{group}/{key}', [TenantSettingController::class, 'destroy'])->name('v1.tenant-settings.destroy'); // 설정 삭제
});
// Menu API
Route::middleware(['perm.map', 'permission'])->prefix('menus')->group(function () {
Route::get('/', [MenuController::class, 'index'])->name('v1.menus.index');