src/Security/Dto/TokensBag.php line 5

Open in your IDE?
  1. <?php
  2. namespace App\Security\Dto;
  3. final class TokensBag
  4. {
  5.     public function __construct(
  6.         private string $accessToken,
  7.         private string $refreshToken,
  8.         private ?int   $jwtExpires null,
  9.     ) {}
  10.     public function getAccessToken(): string
  11.     {
  12.         return $this->accessToken;
  13.     }
  14.     public function getJwtExpires(): int
  15.     {
  16.         if (null === $this->jwtExpires) {
  17.             throw new \LogicException('JWT expiration time is not set');
  18.         }
  19.         return $this->jwtExpires;
  20.     }
  21.     public function getRefreshToken(): string
  22.     {
  23.         return $this->refreshToken;
  24.     }
  25.     public function withExpiration(int $jwtExpires): static
  26.     {
  27.         $static = new static($this->accessToken$this->refreshToken);
  28.         $static->jwtExpires $jwtExpires;
  29.         return $static;
  30.     }
  31. }