Merge pull request #8720 from appwrite/feat-payload-response-type
feat: payload response type
This commit is contained in:
commit
d89676bd3b
18 changed files with 27 additions and 21 deletions
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -549,6 +549,7 @@ class OpenAPI3 extends Format
|
|||
switch ($rule['type']) {
|
||||
case 'string':
|
||||
case 'datetime':
|
||||
case 'payload':
|
||||
$type = 'string';
|
||||
break;
|
||||
|
||||
|
|
|
@ -585,6 +585,10 @@ class Swagger2 extends Format
|
|||
$type = 'boolean';
|
||||
break;
|
||||
|
||||
case 'payload':
|
||||
$type = 'payload';
|
||||
break;
|
||||
|
||||
default:
|
||||
$type = 'object';
|
||||
$rule['type'] = ($rule['type']) ?: 'none';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue