<?php
declare(strict_types=1);
namespace App\Subscriber\Media;
use App\Event\Content\ImagesetImageUploadSuccessEvent;
use App\Service\System\JobService;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class ImagesetImageUploadSubscriber implements EventSubscriberInterface
{
private JobService $jobService;
private LoggerInterface $logger;
public function __construct(JobService $jobService, LoggerInterface $logger)
{
$this->jobService = $jobService;
$this->logger = $logger;
}
public static function getSubscribedEvents(): array
{
return [
ImagesetImageUploadSuccessEvent::class => [
['onUploadQueueImagesetImageGeneratorJobs', 0],
],
];
}
public function onUploadQueueImagesetImageGeneratorJobs(ImagesetImageUploadSuccessEvent $event)
{
try {
$this->jobService->createJobsToGenerateImagesetImages($event->getEntity()->getContentImageset()->getContent(), ['default'], $_ENV['APP_SYSTEM_JOBQUEUE']);
} catch (\Exception $e) {
$this->logger->critical($e->getMessage().PHP_EOL.$e->getTraceAsString());
}
}
}