token, userId: $dto->userId, createdAt: $dto->createdAt, expiresAt: $dto->expiresAt, ); $this->existingSessions[$dto->token] = $session; return $session; } public function findByToken(string $token): ?Session { $session = $this->existingSessions[$token] ?? null; if ($session === null) { return null; } return new Session( token: $session->getToken(), userId: $session->getUserId(), createdAt: $session->getCreatedAt(), expiresAt: $session->getExpiresAt(), ); } public function deleteByToken(string $token): void { unset($this->existingSessions[$token]); } }