<?php
namespace App\EventSubscriber;
use App\Service\Auth\Auth;
use App\Service\Cart\Cart;
use Symfony\Component\Security\Http\Event\LoginSuccessEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class LoginSubscriber implements EventSubscriberInterface
{
private Cart $Cart;
public function __construct(Cart $Cart)
{
$this->Cart = $Cart;
}
public function onLoginSuccessEvent(LoginSuccessEvent $event): void
{
/** @var \App\Entity\User $user */
$user = $event->getPassport()->getUser();
if ($user) {
$this->Cart->userLogin($user->getId());
}
}
public static function getSubscribedEvents(): array
{
return [
LoginSuccessEvent::class => 'onLoginSuccessEvent',
];
}
}