42 lines
759 B
PHP
42 lines
759 B
PHP
<?php
|
|
|
|
namespace App\Auth;
|
|
|
|
use App\User\User;
|
|
use DateTimeImmutable;
|
|
|
|
class Session
|
|
{
|
|
public function __construct(
|
|
private string $token,
|
|
private User $user,
|
|
private DateTimeImmutable $createdAt,
|
|
private DateTimeImmutable $expiresAt,
|
|
) {
|
|
}
|
|
|
|
public function getToken(): string
|
|
{
|
|
return $this->token;
|
|
}
|
|
|
|
public function getUser(): User
|
|
{
|
|
return $this->user;
|
|
}
|
|
|
|
public function getCreatedAt(): DateTimeImmutable
|
|
{
|
|
return $this->createdAt;
|
|
}
|
|
|
|
public function getExpiresAt(): DateTimeImmutable
|
|
{
|
|
return $this->expiresAt;
|
|
}
|
|
|
|
public function isExpired(DateTimeImmutable $now): bool
|
|
{
|
|
return $now >= $this->expiresAt;
|
|
}
|
|
}
|