- 마이그레이션: audit_checklists, audit_checklist_categories, audit_checklist_items, audit_standard_documents (4테이블) - 모델 4개: AuditChecklist, AuditChecklistCategory, AuditChecklistItem, AuditStandardDocument - AuditChecklistService: CRUD, 완료처리, 항목 토글(lockForUpdate), 기준 문서 연결/해제, 카테고리+항목 일괄 동기화 - AuditChecklistController: 9개 엔드포인트 - FormRequest 2개: Store(카테고리+항목 중첩 검증), Update - 라우트 9개 등록 (/api/v1/qms/checklists, checklist-items) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
931 B
PHP
29 lines
931 B
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Qms;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class AuditChecklistUpdateRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'categories' => 'sometimes|array|min:1',
|
|
'categories.*.id' => 'nullable|integer|exists:audit_checklist_categories,id',
|
|
'categories.*.title' => 'required|string|max:200',
|
|
'categories.*.sort_order' => 'nullable|integer|min:0',
|
|
'categories.*.items' => 'required|array|min:1',
|
|
'categories.*.items.*.id' => 'nullable|integer|exists:audit_checklist_items,id',
|
|
'categories.*.items.*.name' => 'required|string|max:200',
|
|
'categories.*.items.*.description' => 'nullable|string',
|
|
'categories.*.items.*.sort_order' => 'nullable|integer|min:0',
|
|
];
|
|
}
|
|
}
|