src/Fresh/EventListener/ContextListener.php line 24

Open in your IDE?
  1. <?php
  2. namespace Fresh\EventListener;
  3. use App\Entity\Central\Client\Client;
  4. use App\Entity\Central\User\User;
  5. use App\Service\AppManager;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  8. use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
  9. class ContextListener
  10. {
  11.     private $tokenStorage;
  12.     private $appManager;
  13.     public function __construct(AppManager $appManagerTokenStorageInterface $tokenStorage)
  14.     {
  15.         $this->tokenStorage $tokenStorage;
  16.         $this->appManager $appManager;
  17.     }
  18.     public function rebuildMetadata(RequestEvent $event)
  19.     {
  20.         $token $this->tokenStorage->getToken();
  21.         if (!$token instanceof UsernamePasswordToken){
  22.             return;
  23.         }
  24.         $user $token->getUser();
  25.         if (!$user instanceof User){
  26.             return;
  27.         }
  28.         $client $user->getClient();
  29.         if(!$client instanceof Client){
  30.             return;
  31.         }
  32.         $this->appManager->setClient($client);
  33.     }
  34. }