|null * @phpstan-type ParametersData array */ class AuthorizationRequest implements JsonSerializable { /** * @param array|null $clientAuth * @param array $parameters */ public function __construct( private readonly string $id, private readonly ?string $did, private readonly ?string $deviceId, private readonly string $clientId, private readonly ?array $clientAuth, private readonly array $parameters, private readonly DateTimeImmutable $expiresAt, private readonly ?string $code, ) { } public function getId(): string { return $this->id; } public function getDid(): ?string { return $this->did; } public function getDeviceId(): ?string { return $this->deviceId; } public function getClientId(): string { return $this->clientId; } /** * @return array|null */ public function getClientAuth(): ?array { return $this->clientAuth; } /** * @return array */ public function getParameters(): array { return $this->parameters; } public function getExpiresAt(): DateTimeImmutable { return $this->expiresAt; } public function getCode(): ?string { return $this->code; } /** * @return array */ #[\ReturnTypeWillChange] public function jsonSerialize(): array { return [ 'id' => $this->id, 'did' => $this->did, 'deviceId' => $this->deviceId, 'clientId' => $this->clientId, 'expiresAt' => $this->expiresAt->format(DATE_ATOM), 'code' => $this->code, ]; } }