src/EventSubscriber/LoginSubscriber.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use App\Service\Auth\Auth;
  4. use App\Service\Cart\Cart;
  5. use Symfony\Component\Security\Http\Event\LoginSuccessEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class LoginSubscriber implements EventSubscriberInterface
  8. {
  9.     private Cart $Cart;
  10.     public function __construct(Cart $Cart)
  11.     {
  12.         $this->Cart $Cart;
  13.     }
  14.     public function onLoginSuccessEvent(LoginSuccessEvent $event): void
  15.     {
  16.         /** @var \App\Entity\User $user */
  17.         $user $event->getPassport()->getUser();
  18.         
  19.         if ($user) {
  20.             $this->Cart->userLogin($user->getId());
  21.         }        
  22.     }
  23.     public static function getSubscribedEvents(): array
  24.     {
  25.         return [
  26.             LoginSuccessEvent::class => 'onLoginSuccessEvent',
  27.         ];
  28.     }
  29. }