Skip to content

Commit 63a8586

Browse files
authored
Merge pull request #118 from mailtrap/email-logs-filters-fix
Fix Email Logs API multi-value filters query string to use brackets notation
2 parents 50e892d + fe472a4 commit 63a8586

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

src/__tests__/lib/api/resources/EmailLogs.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ describe("lib/api/resources/EmailLogs: ", () => {
137137
const baseUrl = `${GENERAL_ENDPOINT}/api/accounts/${accountId}/email_logs`;
138138
const expectedQuery =
139139
"filters[category][operator]=equal" +
140-
"&filters[category][value]=Welcome%20Email" +
141-
"&filters[category][value]=Forget%20Password";
140+
"&filters[category][value][]=Welcome%20Email" +
141+
"&filters[category][value][]=Forget%20Password";
142142
const expectedUrl = `${baseUrl}?${expectedQuery}`;
143143

144144
expect.assertions(2);

src/lib/api/resources/EmailLogs.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const { GENERAL_ENDPOINT } = CLIENT_SETTINGS;
1414
/**
1515
* Serialize query params for email logs list. Uses qs for deepObject-style
1616
* bracket notation (e.g. filters[sent_after]=..., filters[to][operator]=...)
17-
* with repeated keys for array values.
17+
* with bracket notation for arrays (Rails-style, e.g. filters[category][value][]=foo).
1818
*/
1919
function serializeEmailLogsParams(params: EmailLogsListParams): string {
2020
const query: Record<string, unknown> = {};
@@ -25,7 +25,7 @@ function serializeEmailLogsParams(params: EmailLogsListParams): string {
2525
query.filters = params.filters;
2626
}
2727
return qs.stringify(query, {
28-
arrayFormat: "repeat",
28+
arrayFormat: "brackets",
2929
encode: true,
3030
encodeValuesOnly: true,
3131
});

0 commit comments

Comments
 (0)