/**
  * Updates the user last action
  *
  * @param PostResponseEvent $event
  */
 public function onRequestTermination(PostResponseEvent $event)
 {
     $this->userFetcher->setThrowOnTokenError(false);
     if (null === ($user = $this->userFetcher->resolve())) {
         return;
     }
     $requestTime = $event->getRequest()->server->get('REQUEST_TIME');
     $dateTime = new \DateTime();
     $dateTime->setTimestamp($requestTime);
     $user->updateLastAction($dateTime);
     $this->userRepository->modify($user);
 }
 /**
  * Constructor
  *
  * @param UserFetcherInterface $userFetcher
  * @param UserRepositoryInterface $userRepository
  */
 public function __construct(UserFetcherInterface $userFetcher, UserRepositoryInterface $userRepository)
 {
     $this->userFetcher = $userFetcher;
     $this->userRepository = $userRepository;
     $this->userFetcher->setThrowOnTokenError(false);
 }