Skip to content

Commit 8169b2b

Browse files
committed
Fix Array-type query parameter
1 parent 960fb23 commit 8169b2b

File tree

4 files changed

+41
-7
lines changed

4 files changed

+41
-7
lines changed

generator/src/main/resources/line-bot-sdk-nodejs-generator/apiBody/normal.pebble

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@
2121
});
2222
{% elseif op.hasQueryParams %}const queryParams = {
2323
{% for param in op.queryParams -%}
24+
{% if param.isArray -%}
25+
"{{param.paramName}}": [...{{param.paramName}}].join(","),
26+
{% else -%}
2427
"{{param.paramName}}": {{param.paramName}},
28+
{% endif -%}
2529
{% endfor %}
2630
};
2731
Object.keys(queryParams).forEach((key: keyof typeof queryParams) => {

generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,32 @@ function parseForm(
7070
new Blob([]), // paramName={{ param.paramName }}
7171
{% elseif param.isModel -%}
7272
{} as unknown as {{ param.dataType }}, // paramName={{ param.paramName }}
73+
{% elseif param.isArray -%}
74+
new Set(["DUMMY1", "DUMMY2"]) as unknown as {{ param.dataType }},
75+
{% elseif param.isEnum -%}
76+
"DUMMY" as unknown as {{ param.dataType }}, // paramName={{ param.paramName }}(enum)
77+
{% elseif param.isExplode -%}
78+
"DUMMY" as unknown as {{ param.dataType}}, // paramName={{param.paramName}}(enum)
79+
{% elseif param.isString -%}
80+
"DUMMY", // {{param.paramName}}(string)
81+
{% elseif param.isNumber or param.isInteger or param.isLong -%}
82+
0, // paramName={{param.paramName}}(number or int or long)
83+
{% elseif param.isBoolean -%}
84+
true, // paramName={{param.paramName}}
85+
{% else -%}
86+
// UNKNOWN TYPE: paramName={{param.paramName}} {{ param.dataType }}
87+
{% endif -%}
88+
{% endmacro %}
89+
90+
{% macro paramDummyValueString(param) %}
91+
{# @pebvariable name="param" type="org.openapitools.codegen.CodegenParameter" #}
92+
// {{ param.paramName }}: {{ param.dataType }}
93+
{% if param.isFile -%}
94+
new Blob([]), // paramName={{ param.paramName }}
95+
{% elseif param.isModel -%}
96+
{} as unknown as {{ param.dataType }}, // paramName={{ param.paramName }}
97+
{% elseif param.isArray -%}
98+
"DUMMY1,DUMMY2" as unknown as {{ param.dataType }},
7399
{% elseif param.isEnum -%}
74100
"DUMMY" as unknown as {{ param.dataType }}, // paramName={{ param.paramName }}(enum)
75101
{% elseif param.isExplode -%}
@@ -111,7 +137,7 @@ function parseForm(
111137
// Query parameters
112138
const queryParams = new URLSearchParams(reqUrl.search);
113139
{% for param in op.queryParams -%}
114-
equal(queryParams.get("{{param.paramName}}"), String({{ paramDummyValue(param) }}));
140+
equal(queryParams.get("{{param.paramName}}"), String({{ paramDummyValueString(param) }}));
115141
{% endfor %}
116142
{% endif %}
117143
{% if authMethods != null -%}
@@ -148,7 +174,7 @@ function parseForm(
148174
// Form parameters
149175
const formData = parseForm(arrayBuffer);
150176
{% for param in op.formParams -%}
151-
equal(formData["{{param.paramName}}"], String({{ paramDummyValue(param) }}));
177+
equal(formData["{{param.paramName}}"], String({{ paramDummyValueString(param) }}));
152178
{% endfor %}
153179

154180
res.writeHead(200, { "Content-Type": "application/json" });

lib/messaging-api/api/messagingApiClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1583,7 +1583,7 @@ export class MessagingApiClient {
15831583
limit?: number,
15841584
): Promise<Types.ApiResponseType<MessagingApiPagerCouponListResponse>> {
15851585
const queryParams = {
1586-
status: status,
1586+
status: [...status].join(","),
15871587
start: start,
15881588
limit: limit,
15891589
};

lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4242,7 +4242,7 @@ describe("MessagingApiClient", () => {
42424242
queryParams.get("status"),
42434243
String(
42444244
// status: Set<'DRAFT' | 'RUNNING' | 'CLOSED'>
4245-
"DUMMY" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">, // paramName=status(enum)
4245+
"DUMMY1,DUMMY2" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">,
42464246
),
42474247
);
42484248
equal(
@@ -4283,7 +4283,9 @@ describe("MessagingApiClient", () => {
42834283

42844284
const res = await client.listCouponWithHttpInfo(
42854285
// status: Set<'DRAFT' | 'RUNNING' | 'CLOSED'>
4286-
"DUMMY" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">, // paramName=status(enum)
4286+
new Set(["DUMMY1", "DUMMY2"]) as unknown as Set<
4287+
"DRAFT" | "RUNNING" | "CLOSED"
4288+
>,
42874289

42884290
// start: string
42894291
"DUMMY" as unknown as string, // paramName=start(enum)
@@ -4317,7 +4319,7 @@ describe("MessagingApiClient", () => {
43174319
queryParams.get("status"),
43184320
String(
43194321
// status: Set<'DRAFT' | 'RUNNING' | 'CLOSED'>
4320-
"DUMMY" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">, // paramName=status(enum)
4322+
"DUMMY1,DUMMY2" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">,
43214323
),
43224324
);
43234325
equal(
@@ -4358,7 +4360,9 @@ describe("MessagingApiClient", () => {
43584360

43594361
const res = await client.listCoupon(
43604362
// status: Set<'DRAFT' | 'RUNNING' | 'CLOSED'>
4361-
"DUMMY" as unknown as Set<"DRAFT" | "RUNNING" | "CLOSED">, // paramName=status(enum)
4363+
new Set(["DUMMY1", "DUMMY2"]) as unknown as Set<
4364+
"DRAFT" | "RUNNING" | "CLOSED"
4365+
>,
43624366

43634367
// start: string
43644368
"DUMMY" as unknown as string, // paramName=start(enum)

0 commit comments

Comments
 (0)