src/EventSubscriber/SubmodalitySubscriber.php line 41

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use ApiPlatform\Core\EventListener\EventPriorities;
  4. use App\Entity\Submodality;
  5. use App\Message\CreateInsurerLimitsBySubmodality;
  6. use App\Message\UpdateInsurerLimitsBySubmodality;
  7. use App\Message\CreateInsuredLimitsBySubmodality;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. use Symfony\Component\HttpFoundation\Request;
  10. // use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  11. use Symfony\Component\HttpKernel\Event\ViewEvent;
  12. use Symfony\Component\HttpKernel\KernelEvents;
  13. use Symfony\Component\Messenger\MessageBusInterface;
  14. // use App\Entity\User;
  15. final class SubmodalitySubscriber implements EventSubscriberInterface
  16. {
  17.     public function __construct(
  18.         // TokenStorageInterface $tokenStorage,
  19.         MessageBusInterface $messageBus,
  20.     )
  21.     {
  22.         // $this->tokenStorage = $tokenStorage;
  23.         $this->messageBus $messageBus;
  24.     }
  25.     public static function getSubscribedEvents(): array
  26.     {
  27.         return [
  28.             KernelEvents::VIEW => [
  29.                 ['createInsurerLimits'EventPriorities::POST_WRITE],
  30.                 ['updateInsurerLimits'EventPriorities::POST_WRITE],
  31.                 ['createInsuredLimits'EventPriorities::POST_WRITE],
  32.             ],
  33.         ];
  34.     }
  35.     public function createInsurerLimits(ViewEvent $event): void
  36.     {
  37.         $submodality $event->getControllerResult();
  38.         $method $event->getRequest()->getMethod();
  39.         if (!$submodality instanceof Submodality || Request::METHOD_POST !== $method) {
  40.             return;
  41.         }
  42.         // $token = $this->tokenStorage->getToken();
  43.         // if (!$token) {
  44.         //     return;
  45.         // }
  46.         // $user = $token->getUser();
  47.         // if (!$user instanceof User) {
  48.         //     return;
  49.         // }
  50.         $message = new CreateInsurerLimitsBySubmodality();
  51.         $message->setSubmodalityId($submodality->getId());
  52.         $this->messageBus->dispatch($message);
  53.     }
  54.     public function updateInsurerLimits(ViewEvent $event): void
  55.     {
  56.         $submodality $event->getControllerResult();
  57.         $method $event->getRequest()->getMethod();
  58.         if (!$submodality instanceof Submodality || Request::METHOD_PUT !== $method) {
  59.             return;
  60.         }
  61.         // $token = $this->tokenStorage->getToken();
  62.         // if (!$token) {
  63.         //     return;
  64.         // }
  65.         // $user = $token->getUser();
  66.         // if (!$user instanceof User) {
  67.         //     return;
  68.         // }
  69.         $message = new UpdateInsurerLimitsBySubmodality();
  70.         $message->setSubmodalityId($submodality->getId());
  71.         $this->messageBus->dispatch($message);
  72.     }
  73.     public function createInsuredLimits(ViewEvent $event): void
  74.     {
  75.         $submodality $event->getControllerResult();
  76.         $method $event->getRequest()->getMethod();
  77.         if (!$submodality instanceof Submodality || Request::METHOD_POST !== $method) {
  78.             return;
  79.         }
  80.         // $token = $this->tokenStorage->getToken();
  81.         // if (!$token) {
  82.         //     return;
  83.         // }
  84.         // $user = $token->getUser();
  85.         // if (!$user instanceof User) {
  86.         //     return;
  87.         // }
  88.         $message = new CreateInsuredLimitsBySubmodality();
  89.         $message->setSubmodalityId($submodality->getId());
  90.         $this->messageBus->dispatch($message);
  91.     }
  92. }