src/EventListener/AuthenticationSuccessListener.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\User\User;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent;
  6. class AuthenticationSuccessListener{
  7.     /**
  8.      * @var EntityManagerInterface
  9.      */
  10.     private EntityManagerInterface $entityManager;
  11.     public function __construct(EntityManagerInterface $entityManager)
  12.     {
  13.         $this->entityManager $entityManager;
  14.     }
  15.     /**
  16.      * @param AuthenticationSuccessEvent $event
  17.      */
  18.     public function onAuthenticationSuccessResponse(AuthenticationSuccessEvent $event)
  19.     {
  20.         $user $event->getUser();
  21.         if (!$user instanceof User) {
  22.             return;
  23.         }
  24.         $user->setLastLogin(New \DateTime());
  25.         $this->entityManager->persist($user);
  26.         $this->entityManager->flush();
  27.     }
  28. }