articleImage->image && $imageService->isHeic($this->articleImage->image)) { $converted = $imageService->convertHeicToJpeg($this->articleImage->image); if ($converted !== null) { $oldPath = $this->articleImage->image; $this->articleImage->update(['image' => $converted, 'thumbnail' => null]); $stillReferenced = InventoryArticleImage::withTrashed() ->where('image', $oldPath) ->where('id', '!=', $this->articleImage->id) ->exists(); if (!$stillReferenced) { Storage::disk('public')->delete($oldPath); } } } if ($this->articleImage->thumbnail !== null) { return; } $thumbnail = $imageService->generateThumbnail($this->articleImage->image); if ($thumbnail !== null) { $this->articleImage->update(['thumbnail' => $thumbnail]); } } }