vendor/moka/cms/src/Controller/MediaController.php line 16

Open in your IDE?
  1. <?php
  2. namespace Moka\Cms\Controller;
  3. use Moka\Cms\Entity\MediaInterface;
  4. use Moka\Cms\Model\Model;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Vich\UploaderBundle\Handler\DownloadHandler;
  7. class MediaController extends AbstractController
  8. {
  9.     public function __construct(protected Model $model)
  10.     {
  11.     }
  12.     public function download(string $slugDownloadHandler $downloadHandler)
  13.     {
  14.         [$slug] = explode('.'$slug2);
  15.         /** @var ?MediaInterface $media */
  16.         $media $this->getDoctrine()
  17.             ->getRepository($this->model->getMediaMetadata()->getClassName())
  18.             ->findOneBy(['slug' => $slug]);
  19.         if (!$media) {
  20.             throw $this->createNotFoundException();
  21.         }
  22.         return $downloadHandler->downloadObject($mediafield'file'fileName$media->getFullSlug());
  23.     }
  24. }