src/EventSubscriber/AbonnementSubscriber.php line 44

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use ApiPlatform\Core\EventListener\EventPriorities;
  4. use App\Entity\Abonnement;
  5. use App\Entity\Reservation;
  6. use App\Repository\AbonnementRepository;
  7. use App\Repository\ReservationRepository;
  8. use App\Service\CinetPayService;
  9. use App\Service\ReservationService;
  10. use App\Service\Sender;
  11. use App\Service\Utils;
  12. use JetBrains\PhpStorm\ArrayShape;
  13. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpKernel\Event\ViewEvent;
  16. use Symfony\Component\HttpKernel\KernelEvents;
  17. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  18. class AbonnementSubscriber implements EventSubscriberInterface
  19. {
  20.     public function __construct(
  21.         private UserPasswordHasherInterface $encoder,
  22.         private AbonnementRepository $abonnementRepository,
  23.         private Sender $sender,
  24.         private CinetPayService $cinetPayService
  25.     ) {
  26.     }
  27.     #[
  28.         ArrayShape([KernelEvents::VIEW => "array"])
  29.     ]
  30.     public static function getSubscribedEvents(): array
  31.     {
  32.         return [
  33.             KernelEvents::VIEW => [
  34.             //    ['prePersiste', EventPriorities::PRE_WRITE],
  35.                 ['postPersiste'EventPriorities::POST_WRITE]
  36.             ],
  37.         ];
  38.     }
  39.     public function postPersiste(ViewEvent $event): void
  40.     {
  41.         $abonnement $event->getControllerResult();
  42.         $method $event->getRequest()->getMethod();
  43.         if (!$abonnement instanceof Abonnement || Request::METHOD_POST !== $method) {
  44.             return;
  45.         }
  46.     }
  47. }