src/Event/LastActivitySubscriber.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Event;
  3. use App\Helpers\Helpers;
  4. use App\Helpers\JWT;
  5. use App\Services\UpdateLastActivityService;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpKernel\Event\RequestEvent;
  9. use Symfony\Component\HttpKernel\KernelEvents;
  10. use Symfony\Component\Security\Core\Security;
  11. class LastActivitySubscriber implements EventSubscriberInterface
  12. {
  13.     private $activityTracker;
  14.     private $security;
  15.     public function __construct(UpdateLastActivityService $activityTracker, Security $security)
  16.     {
  17.         $this->activityTracker = $activityTracker;
  18.         $this->security = $security;
  19.     }
  20.     public function onKernelRequest(RequestEvent $event)
  21.     {
  22.         $data = json_decode($event->getRequest()->getContent(), true);
  23.         $this->activityTracker->updateLastActivityAt($data, date('Y-m-d H:i:s'));
  24.     }
  25.     public static function getSubscribedEvents()
  26.     {
  27.         return [
  28.             KernelEvents::REQUEST => 'onKernelRequest',
  29.         ];
  30.     }
  31. }