<?php
declare(strict_types=1);
namespace App\EventSubscriber;
use App\Connector\DriverRegistry;
use App\Entity\Procedure;
use App\Event\ProcedureClosedEvent;
use App\Events;
use App\Manager\ProcedureQueueManager;
use App\Queue\ProcedureQueueEvent;
use App\Service\Sendinblue\SMTPApi;
use App\Service\UrlGeneratorService;
use DateTime;
use Exception;
use JMS\Serializer\Serializer;
use JMS\Serializer\SerializerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use function Sentry\captureException;
class ProcedureClosedSubscriber implements EventSubscriberInterface
{
/**
* @var ProcedureQueueManager
*/
protected $procedureQueueManager;
public function __construct(ProcedureQueueManager $procedureQueueManager)
{
$this->procedureQueueManager = $procedureQueueManager;
}
/**
* @param ProcedureClosedEvent $event
*/
public function onProcedureClosed(ProcedureClosedEvent $event): void
{
$this->procedureQueueManager->createForProcedure(
$event->getProcedure(),
ProcedureQueueEvent::PROCEDURE_QUEUE_CLOSE
);
}
/**
* @inheritDoc
*/
public static function getSubscribedEvents()
{
return [
Events::PROCEDURE_CLOSED => 'onProcedureClosed'
];
}
}