From 6c2e407ffb35298142cb8eb1780c263f852c9d1f Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:59:41 +0100 Subject: [PATCH] fix: openapi v3 use string --- app/config/specs/open-api3-1.6.x-client.json | 7 ++--- app/config/specs/open-api3-1.6.x-console.json | 7 ++--- app/config/specs/open-api3-1.6.x-server.json | 7 ++--- app/config/specs/open-api3-latest-client.json | 7 ++--- .../specs/open-api3-latest-console.json | 7 ++--- app/config/specs/open-api3-latest-server.json | 7 ++--- app/config/specs/swagger2-1.6.x-client.json | 8 ++--- app/config/specs/swagger2-1.6.x-console.json | 8 ++--- app/config/specs/swagger2-1.6.x-server.json | 8 ++--- app/config/specs/swagger2-latest-client.json | 8 ++--- app/config/specs/swagger2-latest-console.json | 8 ++--- app/config/specs/swagger2-latest-server.json | 8 ++--- .../Specification/Format/OpenAPI3.php | 1 + .../Specification/Format/Swagger2.php | 4 +++ src/Appwrite/Utopia/Response/Model.php | 1 + .../Utopia/Response/Model/Execution.php | 2 +- .../Utopia/Response/Model/Payload.php | 29 ------------------- 17 files changed, 31 insertions(+), 96 deletions(-) delete mode 100644 src/Appwrite/Utopia/Response/Model/Payload.php diff --git a/app/config/specs/open-api3-1.6.x-client.json b/app/config/specs/open-api3-1.6.x-client.json index d0758463ca..f1b247a70f 100644 --- a/app/config/specs/open-api3-1.6.x-client.json +++ b/app/config/specs/open-api3-1.6.x-client.json @@ -9403,12 +9403,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/open-api3-1.6.x-console.json b/app/config/specs/open-api3-1.6.x-console.json index b72936b416..d42199ba98 100644 --- a/app/config/specs/open-api3-1.6.x-console.json +++ b/app/config/specs/open-api3-1.6.x-console.json @@ -35587,12 +35587,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/open-api3-1.6.x-server.json b/app/config/specs/open-api3-1.6.x-server.json index a1db697b96..1a394f6def 100644 --- a/app/config/specs/open-api3-1.6.x-server.json +++ b/app/config/specs/open-api3-1.6.x-server.json @@ -25964,12 +25964,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json index d0758463ca..f1b247a70f 100644 --- a/app/config/specs/open-api3-latest-client.json +++ b/app/config/specs/open-api3-latest-client.json @@ -9403,12 +9403,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index b72936b416..d42199ba98 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -35587,12 +35587,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index a1db697b96..1a394f6def 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -25964,12 +25964,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "string", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "$ref": "#\/components\/schemas\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-1.6.x-client.json b/app/config/specs/swagger2-1.6.x-client.json index 38d29c8840..cf001af0e8 100644 --- a/app/config/specs/swagger2-1.6.x-client.json +++ b/app/config/specs/swagger2-1.6.x-client.json @@ -9589,13 +9589,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-1.6.x-console.json b/app/config/specs/swagger2-1.6.x-console.json index 926994d3c7..e177cb1d20 100644 --- a/app/config/specs/swagger2-1.6.x-console.json +++ b/app/config/specs/swagger2-1.6.x-console.json @@ -36104,13 +36104,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-1.6.x-server.json b/app/config/specs/swagger2-1.6.x-server.json index 1ebf6dd94c..42cf3ff2c7 100644 --- a/app/config/specs/swagger2-1.6.x-server.json +++ b/app/config/specs/swagger2-1.6.x-server.json @@ -26458,13 +26458,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json index 38d29c8840..cf001af0e8 100644 --- a/app/config/specs/swagger2-latest-client.json +++ b/app/config/specs/swagger2-latest-client.json @@ -9589,13 +9589,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 926994d3c7..e177cb1d20 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -36104,13 +36104,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index 1ebf6dd94c..42cf3ff2c7 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -26458,13 +26458,9 @@ "format": "int32" }, "responseBody": { - "type": "object", + "type": "payload", "description": "HTTP response body. This will return empty unless execution is created as synchronous.", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/payload" - } + "x-example": "" }, "responseHeaders": { "type": "array", diff --git a/src/Appwrite/Specification/Format/OpenAPI3.php b/src/Appwrite/Specification/Format/OpenAPI3.php index 3074d59b7c..f7430ec70e 100644 --- a/src/Appwrite/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/Specification/Format/OpenAPI3.php @@ -549,6 +549,7 @@ class OpenAPI3 extends Format switch ($rule['type']) { case 'string': case 'datetime': + case 'payload': $type = 'string'; break; diff --git a/src/Appwrite/Specification/Format/Swagger2.php b/src/Appwrite/Specification/Format/Swagger2.php index 2eab7807b3..0dac729358 100644 --- a/src/Appwrite/Specification/Format/Swagger2.php +++ b/src/Appwrite/Specification/Format/Swagger2.php @@ -585,6 +585,10 @@ class Swagger2 extends Format $type = 'boolean'; break; + case 'payload': + $type = 'payload'; + break; + default: $type = 'object'; $rule['type'] = ($rule['type']) ?: 'none'; diff --git a/src/Appwrite/Utopia/Response/Model.php b/src/Appwrite/Utopia/Response/Model.php index 8a0bb78cba..d14d1be0c1 100644 --- a/src/Appwrite/Utopia/Response/Model.php +++ b/src/Appwrite/Utopia/Response/Model.php @@ -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 diff --git a/src/Appwrite/Utopia/Response/Model/Execution.php b/src/Appwrite/Utopia/Response/Model/Execution.php index a1739f85b7..dc5d41c02c 100644 --- a/src/Appwrite/Utopia/Response/Model/Execution.php +++ b/src/Appwrite/Utopia/Response/Model/Execution.php @@ -81,7 +81,7 @@ class Execution extends Model 'example' => 200, ]) ->addRule('responseBody', [ - 'type' => Response::MODEL_PAYLOAD, + 'type' => self::TYPE_PAYLOAD, 'description' => 'HTTP response body. This will return empty unless execution is created as synchronous.', 'default' => '', ]) diff --git a/src/Appwrite/Utopia/Response/Model/Payload.php b/src/Appwrite/Utopia/Response/Model/Payload.php deleted file mode 100644 index 07611b958c..0000000000 --- a/src/Appwrite/Utopia/Response/Model/Payload.php +++ /dev/null @@ -1,29 +0,0 @@ -