From c36b5a7e189a939a09a601597fd74858dfe8b574 Mon Sep 17 00:00:00 2001 From: Ivan Rogar Date: Sat, 6 Apr 2024 14:39:07 +0200 Subject: [PATCH 1/4] FIXED array query params --- src/templates/core/functions/getQueryString.hbs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/templates/core/functions/getQueryString.hbs b/src/templates/core/functions/getQueryString.hbs index 7946851dd..a97175986 100644 --- a/src/templates/core/functions/getQueryString.hbs +++ b/src/templates/core/functions/getQueryString.hbs @@ -8,9 +8,13 @@ export const getQueryString = (params: Record): string => { const process = (key: string, value: any) => { if (isDefined(value)) { if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); + // preserve indexes for array type query params + let newValue = {}; + value.forEach((v, i) => { + newValue[i] = v; + }); + + process(key, newValue); } else if (typeof value === 'object') { Object.entries(value).forEach(([k, v]) => { process(`${key}[${k}]`, v); From 6227f890b7e179ac95b803db1325800b91247db8 Mon Sep 17 00:00:00 2001 From: Ivan Rogar Date: Sun, 7 Apr 2024 16:01:22 +0200 Subject: [PATCH 2/4] FIXED array query params --- src/templates/core/functions/getQueryString.hbs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/templates/core/functions/getQueryString.hbs b/src/templates/core/functions/getQueryString.hbs index a97175986..27506ab67 100644 --- a/src/templates/core/functions/getQueryString.hbs +++ b/src/templates/core/functions/getQueryString.hbs @@ -9,12 +9,9 @@ export const getQueryString = (params: Record): string => { if (isDefined(value)) { if (Array.isArray(value)) { // preserve indexes for array type query params - let newValue = {}; value.forEach((v, i) => { - newValue[i] = v; + process(`${key}[${i}]`, v); }); - - process(key, newValue); } else if (typeof value === 'object') { Object.entries(value).forEach(([k, v]) => { process(`${key}[${k}]`, v); From 70e3e0df322808a2aee01ff15050aed1547fb487 Mon Sep 17 00:00:00 2001 From: Ivan Rogar Date: Sun, 15 Dec 2024 14:54:52 +0100 Subject: [PATCH 3/4] CHANGED operation parser -> push cookie and header parameters last --- src/openApi/v3/parser/getOperation.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/openApi/v3/parser/getOperation.ts b/src/openApi/v3/parser/getOperation.ts index aee4bd0c2..06594f249 100644 --- a/src/openApi/v3/parser/getOperation.ts +++ b/src/openApi/v3/parser/getOperation.ts @@ -55,8 +55,6 @@ export const getOperation = ( operation.parametersPath.push(...parameters.parametersPath); operation.parametersQuery.push(...parameters.parametersQuery); operation.parametersForm.push(...parameters.parametersForm); - operation.parametersHeader.push(...parameters.parametersHeader); - operation.parametersCookie.push(...parameters.parametersCookie); operation.parametersBody = parameters.parametersBody; } @@ -68,6 +66,13 @@ export const getOperation = ( operation.parametersBody = requestBody; } + // Parse the operation parameters (path, query, body, etc). + if (op.parameters) { + const parameters = getOperationParameters(openApi, op.parameters); + operation.parametersHeader.push(...parameters.parametersHeader); + operation.parametersCookie.push(...parameters.parametersCookie); + } + // Parse the operation responses. if (op.responses) { const operationResponses = getOperationResponses(openApi, op.responses); From 42685922744b506334b2b174a865ee9ddb150d90 Mon Sep 17 00:00:00 2001 From: Ivan Rogar Date: Sun, 15 Dec 2024 15:21:32 +0100 Subject: [PATCH 4/4] REVERTED operation parser --- src/openApi/v3/parser/getOperation.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/openApi/v3/parser/getOperation.ts b/src/openApi/v3/parser/getOperation.ts index 06594f249..aee4bd0c2 100644 --- a/src/openApi/v3/parser/getOperation.ts +++ b/src/openApi/v3/parser/getOperation.ts @@ -55,6 +55,8 @@ export const getOperation = ( operation.parametersPath.push(...parameters.parametersPath); operation.parametersQuery.push(...parameters.parametersQuery); operation.parametersForm.push(...parameters.parametersForm); + operation.parametersHeader.push(...parameters.parametersHeader); + operation.parametersCookie.push(...parameters.parametersCookie); operation.parametersBody = parameters.parametersBody; } @@ -66,13 +68,6 @@ export const getOperation = ( operation.parametersBody = requestBody; } - // Parse the operation parameters (path, query, body, etc). - if (op.parameters) { - const parameters = getOperationParameters(openApi, op.parameters); - operation.parametersHeader.push(...parameters.parametersHeader); - operation.parametersCookie.push(...parameters.parametersCookie); - } - // Parse the operation responses. if (op.responses) { const operationResponses = getOperationResponses(openApi, op.responses);