From f0b91a62c960c63a2ea357c47eeb385cde62c6ac Mon Sep 17 00:00:00 2001 From: Johann150 Date: Mon, 19 Sep 2022 10:54:23 +0200 Subject: [PATCH] fix HTTP GET parameters in OpenAPI docs HTTP GET parameters are not to be specified in the requestBody but in the parameters. This commit fixes that although admittedly it is kind of a bodge and not perfect, but it is a start. Changelog: Fixed --- packages/backend/src/server/api/openapi/gen-spec.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/backend/src/server/api/openapi/gen-spec.ts b/packages/backend/src/server/api/openapi/gen-spec.ts index 9902dfa6c..e205ab51e 100644 --- a/packages/backend/src/server/api/openapi/gen-spec.ts +++ b/packages/backend/src/server/api/openapi/gen-spec.ts @@ -200,6 +200,17 @@ export function genOpenapiSpec() { path.get = { ...info }; // API Key authentication is not permitted for GET requests path.get.security = path.get.security.filter(elem => !Object.prototype.hasOwnProperty.call(elem, 'ApiKeyAuth')); + // fix the way parameters are passed + delete path.get.requestBody; + path.get.parameters = []; + for (const name in schema.properties) { + path.get.parameters.push({ + name, + in: 'query', + schema: schema.properties[name], + required: schema.required?.includes(name), + }); + } } spec.paths['/' + endpoint.name] = path;