id === null) { throw new BadRequestException('id is required'); } if ($request->longPdfPath === null) { throw new BadRequestException('longPdfPath is required'); } $element = $this->elementRepository->find($request->id); if ($element === null) { throw new NotFoundException('Element not found'); } $longPdfPath = $this->nullableString($request->longPdfPath); if ($longPdfPath === null) { $this->deleteManagedFile($element->getLongPdfPath()); } $element->setLongPdfPath($longPdfPath); return $this->elementRepository->update($element); } private function nullableString(string $value): ?string { if ($value === '') { return null; } return $value; } private function deleteManagedFile(?string $path): void { if ($path === null) { return; } $this->fileUploader->delete($path); } }