fix: [문서스냅샷] UpsertRequest rendered_html 검증 추가 및 upsert() 전달 누락 수정
- UpsertRequest에 rendered_html nullable string 검증 추가 - DocumentService upsert()에서 create/update 시 rendered_html 전달 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,9 @@ public function rules(): array
|
|||||||
'data.*.field_key' => 'required_with:data|string|max:100',
|
'data.*.field_key' => 'required_with:data|string|max:100',
|
||||||
'data.*.field_value' => 'nullable|string',
|
'data.*.field_value' => 'nullable|string',
|
||||||
|
|
||||||
|
// HTML 스냅샷
|
||||||
|
'rendered_html' => 'nullable|string',
|
||||||
|
|
||||||
// 첨부파일
|
// 첨부파일
|
||||||
'attachments' => 'nullable|array',
|
'attachments' => 'nullable|array',
|
||||||
'attachments.*.file_id' => 'required_with:attachments|integer|exists:files,id',
|
'attachments.*.file_id' => 'required_with:attachments|integer|exists:files,id',
|
||||||
|
|||||||
@@ -857,24 +857,32 @@ public function upsert(array $data): Document
|
|||||||
|
|
||||||
if ($existingDocument) {
|
if ($existingDocument) {
|
||||||
// UPDATE: 기존 update 로직 재사용
|
// UPDATE: 기존 update 로직 재사용
|
||||||
return $this->update($existingDocument->id, [
|
$updatePayload = [
|
||||||
'title' => $data['title'] ?? $existingDocument->title,
|
'title' => $data['title'] ?? $existingDocument->title,
|
||||||
'linkable_type' => 'item',
|
'linkable_type' => 'item',
|
||||||
'linkable_id' => $itemId,
|
'linkable_id' => $itemId,
|
||||||
'data' => $data['data'] ?? [],
|
'data' => $data['data'] ?? [],
|
||||||
'attachments' => $data['attachments'] ?? [],
|
'attachments' => $data['attachments'] ?? [],
|
||||||
]);
|
];
|
||||||
|
if (isset($data['rendered_html'])) {
|
||||||
|
$updatePayload['rendered_html'] = $data['rendered_html'];
|
||||||
|
}
|
||||||
|
return $this->update($existingDocument->id, $updatePayload);
|
||||||
}
|
}
|
||||||
|
|
||||||
// CREATE: 기존 create 로직 재사용
|
// CREATE: 기존 create 로직 재사용
|
||||||
return $this->create([
|
$createPayload = [
|
||||||
'template_id' => $templateId,
|
'template_id' => $templateId,
|
||||||
'title' => $data['title'] ?? '',
|
'title' => $data['title'] ?? '',
|
||||||
'linkable_type' => 'item',
|
'linkable_type' => 'item',
|
||||||
'linkable_id' => $itemId,
|
'linkable_id' => $itemId,
|
||||||
'data' => $data['data'] ?? [],
|
'data' => $data['data'] ?? [],
|
||||||
'attachments' => $data['attachments'] ?? [],
|
'attachments' => $data['attachments'] ?? [],
|
||||||
]);
|
];
|
||||||
|
if (isset($data['rendered_html'])) {
|
||||||
|
$createPayload['rendered_html'] = $data['rendered_html'];
|
||||||
|
}
|
||||||
|
return $this->create($createPayload);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user