1
0
Fork 0
mirror of synced 2024-10-02 18:26:49 +13:00

Merge pull request #8720 from appwrite/feat-payload-response-type

feat: payload response type
This commit is contained in:
Christy Jacob 2024-10-01 23:55:50 +04:00 committed by GitHub
commit d89676bd3b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 27 additions and 21 deletions

View file

@ -9405,7 +9405,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -35589,7 +35589,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -25966,7 +25966,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -9405,7 +9405,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -35589,7 +35589,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -25966,7 +25966,7 @@
"responseBody": {
"type": "string",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -9589,9 +9589,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -36104,9 +36104,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -26458,9 +26458,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -9589,9 +9589,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -36104,9 +36104,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -26458,9 +26458,9 @@
"format": "int32"
},
"responseBody": {
"type": "string",
"type": "payload",
"description": "HTTP response body. This will return empty unless execution is created as synchronous.",
"x-example": "Developers are awesome."
"x-example": ""
},
"responseHeaders": {
"type": "array",

View file

@ -50,6 +50,7 @@ class Mapper
$defaults = [
'boolean' => Type::boolean(),
'string' => Type::string(),
'payload' => Type::string(),
'integer' => Type::int(),
'double' => Type::float(),
'datetime' => Type::string(),

View file

@ -549,6 +549,7 @@ class OpenAPI3 extends Format
switch ($rule['type']) {
case 'string':
case 'datetime':
case 'payload':
$type = 'string';
break;

View file

@ -585,6 +585,10 @@ class Swagger2 extends Format
$type = 'boolean';
break;
case 'payload':
$type = 'payload';
break;
default:
$type = 'object';
$rule['type'] = ($rule['type']) ?: 'none';

View file

@ -14,6 +14,7 @@ abstract class Model
public const TYPE_DATETIME = 'datetime';
public const TYPE_DATETIME_EXAMPLE = '2020-10-15T06:38:00.000+00:00';
public const TYPE_RELATIONSHIP = 'relationship';
public const TYPE_PAYLOAD = 'payload';
/**
* @var bool

View file

@ -81,10 +81,9 @@ class Execution extends Model
'example' => 200,
])
->addRule('responseBody', [
'type' => self::TYPE_STRING,
'type' => self::TYPE_PAYLOAD,
'description' => 'HTTP response body. This will return empty unless execution is created as synchronous.',
'default' => '',
'example' => 'Developers are awesome.',
])
->addRule('responseHeaders', [
'type' => Response::MODEL_HEADERS,

View file

@ -133,7 +133,7 @@ class HTTPTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']);
// looks like recent change in the validator
$this->assertTrue(empty($response['body']['schemaValidationMessages']));
$this->assertEmpty($response['body']['schemaValidationMessages'], 'Schema validation failed for ' . $file . ': ' . json_encode($response['body']['schemaValidationMessages'], JSON_PRETTY_PRINT));
}
}