public function deleteAction($id, Request $request)
{
try {
$mediaManager = $this->getMediaManager();
$locale = $this->getLocale($request);
$media = $mediaManager->getById($id, $locale);
/** @var MediaInterface $mediaEntity */
$mediaEntity = $media->getEntity();
if ($mediaEntity->getPreviewImage() !== null) {
$oldPreviewImageId = $mediaEntity->getPreviewImage()->getId();
$mediaEntity->setPreviewImage(null);
$mediaManager->delete($oldPreviewImageId);
}
$view = $this->view(null, 204);
} catch (MediaNotFoundException $e) {
$view = $this->view($e->toArray(), 404);
} catch (MediaException $e) {
$view = $this->view($e->toArray(), 400);
}
return $this->handleView($view);
}