Skip to content

Commit

Permalink
Merge pull request #2 from vanqard/php7-compatible
Browse files Browse the repository at this point in the history
Adds PHP7 compatibility and fixes autoloading
  • Loading branch information
ivanbarlog authored Mar 19, 2024
2 parents 6d9958e + 8cc19f4 commit 0d69cdf
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 37 deletions.
8 changes: 3 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "everluitonsk/citadel-client",
"name": "everlutionsk/citadel-client",
"description": "Client library for interacting with the Citadel API",
"type": "library",
"license": "MIT",
Expand All @@ -10,7 +10,7 @@
}
],
"require": {
"php": "^7.0",
"php": "^7.4|^8.0",
"guzzlehttp/guzzle": "^6.0"
},
"repositories": [
Expand All @@ -20,8 +20,6 @@
}
],
"autoload": {
"psr-4": {
"CitadelClient\\": "src/"
}
"files": ["src/CitadelClient.php"]
}
}
145 changes: 113 additions & 32 deletions src/CitadelClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,117 +4,198 @@

class ResolveSessionResponse
{
public ?ResolvedSession $session;
public Recommended $recommended;

public function __construct(
public ?ResolvedSession $session,
public Recommended $recommended
?ResolvedSession $session,
Recommended $recommended
) {
$this->session = $session;
$this->recommended = $recommended;
}
}

class ResolvedSession
{
public string $id;
public string $sid;
public array $identities;
public string $audience;
public \DateTime $issuedAt;
public \DateTime $refreshedAt;
public \DateTime $expiresAt;
public \DateTime $resolvedAt;

public function __construct(
public string $id,
public string $sid,
public array $identities,
public string $audience,
public \DateTime $issuedAt,
public \DateTime $refreshedAt,
public \DateTime $expiresAt,
public \DateTime $resolvedAt
string $id,
string $sid,
array $identities,
string $audience,
\DateTime $issuedAt,
\DateTime $refreshedAt,
\DateTime $expiresAt,
\DateTime $resolvedAt
) {
$this->id = $id;
$this->sid = $sid;
$this->identities = $identities;
$this->audience = $audience;
$this->issuedAt = $issuedAt;
$this->refreshedAt = $refreshedAt;
$this->expiresAt = $expiresAt;
$this->resolvedAt = $resolvedAt;
}
}

class ResolvedIdentity
{
public string $id;
public \DateTime $assignedAt;
public string $user;
public array $data;

public function __construct(
public string $id,
public \DateTime $assignedAt,
public string $user,
public array $data
string $id,
\DateTime $assignedAt,
string $user,
array $data
) {
$this->id = $id;
$this->assignedAt = $assignedAt;
$this->user = $user;
$this->data = $data;
}
}

class ResolvedValue
{
public string $name;
/**
* Intended to be one of string | int | bool | null
* @var mixed
*/
public $value;
public string $from;

public function __construct(
public string $name,
public mixed $value, // can be string | int | bool | null
public string $from
string $name,
$value,
string $from
) {
$this->name = $name;
$this->value = $value;
$this->from = $from;

}
}

class MultiValueHeaders
{
public array $headers;

public function __construct(
public array $headers
array $headers
) {
$this->headers = $headers;
}
}

class Recommended
{
public string $action;
public MultiValueHeaders $responseHeaders;
public string $reason;

public function __construct(
public string $action,
public MultiValueHeaders $responseHeaders,
public string $reason
string $action,
MultiValueHeaders $responseHeaders,
string $reason
) {
$this->action = $action;
$this->responseHeaders = $responseHeaders;
$this->reason = $reason;
}
}

class SessionResolveRequest
{
public string $cookieHeader;
public string $clientId;
public string $clientSecret;

public function __construct(
public string $cookieHeader,
public string $clientId,
public string $clientSecret
string $cookieHeader,
string $clientId,
string $clientSecret
) {
$this->cookieHeader = $cookieHeader;
$this->clientId = $clientId;
$this->clientSecret = $clientSecret;
}
}

class SessionResolveResponse
{
public ?ResolvedSession $session;
public Recommended $recommended;

public function __construct(
public ?ResolvedSession $session,
public Recommended $recommended
?ResolvedSession $session,
Recommended $recommended
) {
$this->session = $session;
$this->recommended = $recommended;
}
}

class SessionRevokeRequest
{
public string $cookieHeader;
public string $clientId;
public string $clientSecret;

public function __construct(
public string $cookieHeader,
public string $clientId,
public string $clientSecret
string $cookieHeader,
string $clientId,
string $clientSecret
) {
$this->cookieHeader = $cookieHeader;
$this->clientId = $clientId;
$this->clientSecret = $clientSecret;
}
}

class SessionRevokeResponse
{
public array $responseHeaders;

public function __construct(
public array $responseHeaders
array $responseHeaders
) {
$this->responseHeaders = $responseHeaders;
}
}

class SessionResolveBearerRequest
{
public string $token;

public function __construct(
public string $token
string $token
) {
$this->token = $token;
}
}

class SessionResolveBearerResponse
{
public ?ResolvedSession $session;

public function __construct(
public ?ResolvedSession $session
?ResolvedSession $session
) {
$this->session = $session;
}
}

Expand Down

0 comments on commit 0d69cdf

Please sign in to comment.