File size: 673 Bytes
d2897cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

declare(strict_types=1);

namespace Mautic\UserBundle\Security;

use Mautic\UserBundle\Entity\UserRepository;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;

final class UserTokenSetter implements UserTokenSetterInterface
{
    public function __construct(private UserRepository $userRepository, private TokenStorageInterface $tokenStorage)
    {
    }

    public function setUser(int $userId): void
    {
        $user  = $this->userRepository->getEntity($userId);
        $token = $this->tokenStorage->getToken() ?? new DummyToken();

        $token->setUser($user);
        $this->tokenStorage->setToken($token);
    }
}