mirror of
https://github.com/appwrite/appwrite
synced 2026-05-24 01:18:37 +00:00
Begin work on SDKResponse refactor
This commit is contained in:
parent
64a957859e
commit
624c91816b
12 changed files with 131 additions and 33 deletions
|
|
@ -4576,7 +4576,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -4586,7 +4588,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -8145,7 +8145,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -8155,7 +8157,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -7679,7 +7679,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -7689,7 +7691,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/components\/schemas\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -4764,7 +4764,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/definitions\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -4774,7 +4776,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/definitions\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -8348,7 +8348,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/definitions\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -8358,7 +8360,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/definitions\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -7860,7 +7860,9 @@
|
|||
"documentId",
|
||||
"data"
|
||||
],
|
||||
"responseModel": "document"
|
||||
"responses": [
|
||||
"#\/definitions\/document"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "createDocuments",
|
||||
|
|
@ -7870,7 +7872,9 @@
|
|||
"required": [
|
||||
"documents"
|
||||
],
|
||||
"responseModel": "documentList"
|
||||
"responses": [
|
||||
"#\/definitions\/documentList"
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ use Appwrite\Event\Event;
|
|||
use Appwrite\Extend\Exception;
|
||||
use Appwrite\SDK\AuthType;
|
||||
use Appwrite\SDK\Method;
|
||||
use Appwrite\SDK\Response as SDKResponse;
|
||||
use Appwrite\SDK\ResponseType;
|
||||
use Appwrite\Utopia\Response;
|
||||
use Utopia\App;
|
||||
|
|
@ -34,8 +35,12 @@ App::get('/v1/health')
|
|||
name: 'get',
|
||||
auth: [AuthType::KEY],
|
||||
description: '/docs/references/health/get.md',
|
||||
responseCode: Response::STATUS_CODE_OK,
|
||||
responseModel: Response::MODEL_HEALTH_STATUS,
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_HEALTH_STATUS,
|
||||
)
|
||||
],
|
||||
responseType: ResponseType::JSON
|
||||
))
|
||||
->inject('response')
|
||||
|
|
@ -68,8 +73,12 @@ App::get('/v1/health/db')
|
|||
namespace: 'health',
|
||||
name: 'getDB',
|
||||
description: '/docs/references/health/get-db.md',
|
||||
responseCode: Response::STATUS_CODE_OK,
|
||||
responseModel: Response::MODEL_HEALTH_STATUS,
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_HEALTH_STATUS,
|
||||
)
|
||||
],
|
||||
responseType: ResponseType::JSON
|
||||
))
|
||||
->inject('response')
|
||||
|
|
@ -124,8 +133,12 @@ App::get('/v1/health/cache')
|
|||
namespace: 'health',
|
||||
name: 'getCache',
|
||||
description: '/docs/references/health/get-cache.md',
|
||||
responseCode: Response::STATUS_CODE_OK,
|
||||
responseModel: Response::MODEL_HEALTH_STATUS,
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_HEALTH_STATUS,
|
||||
)
|
||||
],
|
||||
responseType: ResponseType::JSON
|
||||
))
|
||||
->inject('response')
|
||||
|
|
|
|||
|
|
@ -49,8 +49,9 @@ class Method
|
|||
* @param string $name
|
||||
* @param string $description
|
||||
* @param array<AuthType> $auth
|
||||
* @param array<Response> $responses
|
||||
* @param int $responseCode
|
||||
* @param string|array $responseModel
|
||||
* @param string|array<string> $responseModel
|
||||
* @param ResponseType $responseType
|
||||
* @param MethodType|null $methodType
|
||||
* @param string|null $offlineKey
|
||||
|
|
@ -69,8 +70,7 @@ class Method
|
|||
protected string $name,
|
||||
protected string $description,
|
||||
protected array $auth,
|
||||
protected int $responseCode,
|
||||
protected string|array $responseModel,
|
||||
protected array $responses,
|
||||
protected ResponseType $responseType = ResponseType::JSON,
|
||||
protected ?MethodType $methodType = null,
|
||||
protected ?string $offlineKey = null,
|
||||
|
|
|
|||
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
namespace Appwrite\SDK;
|
||||
|
||||
use JsonSerializable;
|
||||
|
||||
class Multiplex implements JsonSerializable
|
||||
class Multiplex
|
||||
{
|
||||
/**
|
||||
* @param string $name
|
||||
|
|
@ -20,13 +18,23 @@ class Multiplex implements JsonSerializable
|
|||
) {
|
||||
}
|
||||
|
||||
public function jsonSerialize(): array
|
||||
public function getName(): string
|
||||
{
|
||||
return [
|
||||
'name' => $this->name,
|
||||
'parameters' => $this->parameters,
|
||||
'required' => $this->required,
|
||||
'responseModel' => $this->responseModel,
|
||||
];
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function getParameters(): array
|
||||
{
|
||||
return $this->parameters;
|
||||
}
|
||||
|
||||
public function getRequired(): array
|
||||
{
|
||||
return $this->required;
|
||||
}
|
||||
|
||||
public function getResponseModel(): string
|
||||
{
|
||||
return $this->responseModel;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
33
src/Appwrite/SDK/Response.php
Normal file
33
src/Appwrite/SDK/Response.php
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace Appwrite\SDK;
|
||||
|
||||
class Response
|
||||
{
|
||||
/**
|
||||
* @param int $code
|
||||
* @param string $model
|
||||
* @param string $description
|
||||
*/
|
||||
function __construct(
|
||||
private int $code,
|
||||
private string $model,
|
||||
private string $description = '',
|
||||
)
|
||||
{}
|
||||
|
||||
public function getCode(): int
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function getModel(): string
|
||||
{
|
||||
return $this->model;
|
||||
}
|
||||
|
||||
public function getDescription(): string
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
}
|
||||
|
|
@ -197,7 +197,17 @@ class OpenAPI3 extends Format
|
|||
];
|
||||
|
||||
if (!empty($sdk->getMultiplex())) {
|
||||
$temp['x-appwrite']['multiplex'] = $sdk->getMultiplex();
|
||||
$temp['x-appwrite']['multiplex'] = [];
|
||||
foreach ($sdk->getMultiplex() as $multiplex) {
|
||||
/** @var \Appwrite\SDK\Multiplex $multiplex */
|
||||
|
||||
$temp['x-appwrite']['multiplex'][] = [
|
||||
'name' => $multiplex->getName(),
|
||||
'parameters' => $multiplex->getParameters(),
|
||||
'required' => $multiplex->getRequired(),
|
||||
'responses' => ['#/components/schemas/' . $multiplex->getResponseModel()]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->models as $value) {
|
||||
|
|
|
|||
|
|
@ -199,7 +199,17 @@ class Swagger2 extends Format
|
|||
}
|
||||
|
||||
if (!empty($sdk->getMultiplex())) {
|
||||
$temp['x-appwrite']['multiplex'] = $sdk->getMultiplex();
|
||||
$temp['x-appwrite']['multiplex'] = [];
|
||||
foreach ($sdk->getMultiplex() as $multiplex) {
|
||||
/** @var \Appwrite\SDK\Multiplex $multiplex */
|
||||
|
||||
$temp['x-appwrite']['multiplex'][] = [
|
||||
'name' => $multiplex->getName(),
|
||||
'parameters' => $multiplex->getParameters(),
|
||||
'required' => $multiplex->getRequired(),
|
||||
'responses' => ["#/definitions/" . $multiplex->getResponseModel()]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->models as $value) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue