src/EventSubscriber/ProcedureClosedSubscriber.php line 36

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\EventSubscriber;
  4. use App\Connector\DriverRegistry;
  5. use App\Entity\Procedure;
  6. use App\Event\ProcedureClosedEvent;
  7. use App\Events;
  8. use App\Manager\ProcedureQueueManager;
  9. use App\Queue\ProcedureQueueEvent;
  10. use App\Service\Sendinblue\SMTPApi;
  11. use App\Service\UrlGeneratorService;
  12. use DateTime;
  13. use Exception;
  14. use JMS\Serializer\Serializer;
  15. use JMS\Serializer\SerializerInterface;
  16. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  17. use function Sentry\captureException;
  18. class ProcedureClosedSubscriber implements EventSubscriberInterface
  19. {
  20.     /**
  21.      * @var ProcedureQueueManager
  22.      */
  23.     protected $procedureQueueManager;
  24.     public function __construct(ProcedureQueueManager $procedureQueueManager)
  25.     {
  26.         $this->procedureQueueManager $procedureQueueManager;
  27.     }
  28.     /**
  29.      * @param ProcedureClosedEvent $event
  30.      */
  31.     public function onProcedureClosed(ProcedureClosedEvent $event): void
  32.     {
  33.         $this->procedureQueueManager->createForProcedure(
  34.             $event->getProcedure(),
  35.             ProcedureQueueEvent::PROCEDURE_QUEUE_CLOSE
  36.         );
  37.     }
  38.     /**
  39.      * @inheritDoc
  40.      */
  41.     public static function getSubscribedEvents()
  42.     {
  43.         return [
  44.             Events::PROCEDURE_CLOSED => 'onProcedureClosed'
  45.         ];
  46.     }
  47. }