<?php
namespace App\EventSubscribers\Logout;
use App\Entity\User;
use App\Repository\UserRepository;
use App\Services\UserService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Http\Event\LogoutEvent;
class UpdateActiveTimeOnLogoutSubscriber implements EventSubscriberInterface
{
/** @var UserService */
private UserService $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function onLogout(LogoutEvent $event)
{
$user = $event->getToken()->getUser();
if ($user instanceof User) {
$this->userService->clearLastActionTime($user);
}
}
public static function getSubscribedEvents(): array
{
return [
LogoutEvent::class => 'onLogout'
];
}
}