src/EventSubscriber/InsurerSubscriber.php line 89

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