<?php
namespace App\EventListener;
use App\Entity\FileAwareInterface;
use App\Service\Uploader\FileUploader;
use Symfony\Component\EventDispatcher\GenericEvent;
use Webmozart\Assert\Assert;
class FilesUploadListener
{
/** @var FileUploader */
private FileUploader $uploader;
public function __construct(FileUploader $uploader)
{
$this->uploader = $uploader;
}
public function uploadFile(GenericEvent $event): void
{
$file = $event->getSubject();
Assert::isInstanceOf($file, FileAwareInterface::class);
if($file->getFile() === null) return;
$this->uploader->upload($file->getFile());
}
}