feat: [QMS] 점검표 토글 API 추가 + 레거시 AuditChecklist 라우트 제거
- ChecklistTemplateController.toggleItem() 추가 (PATCH /{id}/items/{subItemId}/toggle)
- ChecklistTemplate 모델 User 클래스 경로 수정 (Members\User)
- AuditChecklistController 라우트 제거 (checklist_templates로 통합)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,16 @@ public function update(SaveChecklistTemplateRequest $request, int $id)
|
||||
}, __('message.updated'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 항목 완료 토글
|
||||
*/
|
||||
public function toggleItem(int $id, string $subItemId)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($id, $subItemId) {
|
||||
return $this->service->toggleItem($id, $subItemId);
|
||||
}, __('message.updated'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 항목별 파일 목록 조회
|
||||
*/
|
||||
|
||||
@@ -33,12 +33,12 @@ class ChecklistTemplate extends Model
|
||||
|
||||
public function creator(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(\App\Models\User::class, 'created_by');
|
||||
return $this->belongsTo(\App\Models\Members\User::class, 'created_by');
|
||||
}
|
||||
|
||||
public function updater(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(\App\Models\User::class, 'updated_by');
|
||||
return $this->belongsTo(\App\Models\Members\User::class, 'updated_by');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
* - 실적신고
|
||||
*/
|
||||
|
||||
use App\Http\Controllers\Api\V1\AuditChecklistController;
|
||||
use App\Http\Controllers\Api\V1\ChecklistTemplateController;
|
||||
use App\Http\Controllers\Api\V1\PerformanceReportController;
|
||||
use App\Http\Controllers\Api\V1\QmsLotAuditController;
|
||||
@@ -55,6 +54,7 @@
|
||||
Route::prefix('quality/checklist-templates')->group(function () {
|
||||
Route::get('', [ChecklistTemplateController::class, 'show'])->name('v1.quality.checklist-templates.show');
|
||||
Route::put('/{id}', [ChecklistTemplateController::class, 'update'])->whereNumber('id')->name('v1.quality.checklist-templates.update');
|
||||
Route::patch('/{id}/items/{subItemId}/toggle', [ChecklistTemplateController::class, 'toggleItem'])->whereNumber('id')->name('v1.quality.checklist-templates.toggle-item');
|
||||
});
|
||||
|
||||
// QMS 점검표 문서 (파일) 관리
|
||||
@@ -64,15 +64,4 @@
|
||||
Route::delete('/{id}', [ChecklistTemplateController::class, 'deleteDocument'])->whereNumber('id')->name('v1.quality.qms-documents.destroy');
|
||||
});
|
||||
|
||||
// QMS 기준/매뉴얼 심사 (1일차)
|
||||
Route::prefix('qms')->group(function () {
|
||||
Route::get('/checklists', [AuditChecklistController::class, 'index'])->name('v1.qms.checklists.index');
|
||||
Route::post('/checklists', [AuditChecklistController::class, 'store'])->name('v1.qms.checklists.store');
|
||||
Route::get('/checklists/{id}', [AuditChecklistController::class, 'show'])->whereNumber('id')->name('v1.qms.checklists.show');
|
||||
Route::put('/checklists/{id}', [AuditChecklistController::class, 'update'])->whereNumber('id')->name('v1.qms.checklists.update');
|
||||
Route::patch('/checklists/{id}/complete', [AuditChecklistController::class, 'complete'])->whereNumber('id')->name('v1.qms.checklists.complete');
|
||||
Route::patch('/checklist-items/{id}/toggle', [AuditChecklistController::class, 'toggleItem'])->whereNumber('id')->name('v1.qms.checklist-items.toggle');
|
||||
Route::get('/checklist-items/{id}/documents', [AuditChecklistController::class, 'itemDocuments'])->whereNumber('id')->name('v1.qms.checklist-items.documents');
|
||||
Route::post('/checklist-items/{id}/documents', [AuditChecklistController::class, 'attachDocument'])->whereNumber('id')->name('v1.qms.checklist-items.documents.attach');
|
||||
Route::delete('/checklist-items/{id}/documents/{docId}', [AuditChecklistController::class, 'detachDocument'])->whereNumber('id')->whereNumber('docId')->name('v1.qms.checklist-items.documents.detach');
|
||||
});
|
||||
// QMS 기준/매뉴얼 심사 (1일차) — checklist_templates로 통합됨, AuditChecklistController 제거
|
||||
|
||||
Reference in New Issue
Block a user