src/App/EventListener/TicketEventSubscriber.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Controller\Company\SupportTicket\Event\MessageEvent;
  4. use App\Controller\Company\SupportTicket\Event\TicketEvent;
  5. use App\Message\SupportTicket\SupportAnswerMessage;
  6. use App\Message\SupportTicket\SupportTicketMessage;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. use Symfony\Component\Messenger\MessageBusInterface;
  9. class TicketEventSubscriber implements EventSubscriberInterface
  10. {
  11.     public function __construct(private MessageBusInterface $messageBus)
  12.     {
  13.     }
  14.     public static function getSubscribedEvents()
  15.     {
  16.         return [
  17.             TicketEvent::CREATE_SUPPORT_TICKET_EVENT_NAME => 'onNewTicket',
  18.             MessageEvent::CREATE_SUPPORT_TICKET_MESSAGE_EVENT_NAME => 'onNewMessage',
  19.         ];
  20.     }
  21.     public function onNewTicket(TicketEvent $event): void
  22.     {
  23.         $this->messageBus->dispatch(
  24.             new SupportTicketMessage($event->getSupportTicket()->getId())
  25.         );
  26.     }
  27.     public function onNewMessage(MessageEvent $event)
  28.     {
  29.         $this->messageBus->dispatch(
  30.             new SupportAnswerMessage($event->getMessage()->getId())
  31.         );
  32.     }
  33. }