use element update uploads

This commit is contained in:
Yisroel Baum 2026-06-02 16:08:58 +03:00
parent b6da71ecd2
commit 71bb131687
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
4 changed files with 43 additions and 72 deletions

View file

@ -16,6 +16,8 @@ class UpdateElement
private UpdateRichText $updateRichText,
private UpdatePdfPath $updatePdfPath,
private UpdateYoutubeUrl $updateYoutubeUrl,
private UpdateElementIconImage $updateElementIconImage,
private UpdateElementPdf $updateElementPdf,
private ElementRepository $elementRepository,
) {
}
@ -35,7 +37,9 @@ class UpdateElement
&& $request->iconImageUrl === null
&& $request->richText === null
&& $request->pdfPath === null
&& $request->youtubeUrl === null;
&& $request->youtubeUrl === null
&& $request->iconImageContents === null
&& $request->pdfContents === null;
if ($hasNoFields) {
throw new BadRequestException('nothing to update');
}
@ -78,6 +82,28 @@ class UpdateElement
youtubeUrl: $request->youtubeUrl,
));
}
if ($request->iconImageContents !== null) {
$this->updateElementIconImage->execute(
new UpdateElementIconImageRequest(
id: $request->id,
iconImageContents: $request->iconImageContents,
iconImageOriginalName: $request->iconImageOriginalName,
iconImageMimeType: $request->iconImageMimeType,
iconImageSizeBytes: $request->iconImageSizeBytes,
)
);
}
if ($request->pdfContents !== null) {
$this->updateElementPdf->execute(
new UpdateElementPdfRequest(
id: $request->id,
pdfContents: $request->pdfContents,
pdfOriginalName: $request->pdfOriginalName,
pdfMimeType: $request->pdfMimeType,
pdfSizeBytes: $request->pdfSizeBytes,
)
);
}
$element = $this->elementRepository->find($request->id);
if ($element === null) {