From fe472a4c23fb76f56ac95854f229af673a8d58f9 Mon Sep 17 00:00:00 2001 From: Marcin Klocek Date: Sun, 15 Mar 2026 17:08:29 +0000 Subject: [PATCH] Fix Email Logs API multi-value filters query string to use brackets notation --- src/__tests__/lib/api/resources/EmailLogs.test.ts | 4 ++-- src/lib/api/resources/EmailLogs.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/__tests__/lib/api/resources/EmailLogs.test.ts b/src/__tests__/lib/api/resources/EmailLogs.test.ts index 275701b..8e466e8 100644 --- a/src/__tests__/lib/api/resources/EmailLogs.test.ts +++ b/src/__tests__/lib/api/resources/EmailLogs.test.ts @@ -137,8 +137,8 @@ describe("lib/api/resources/EmailLogs: ", () => { const baseUrl = `${GENERAL_ENDPOINT}/api/accounts/${accountId}/email_logs`; const expectedQuery = "filters[category][operator]=equal" + - "&filters[category][value]=Welcome%20Email" + - "&filters[category][value]=Forget%20Password"; + "&filters[category][value][]=Welcome%20Email" + + "&filters[category][value][]=Forget%20Password"; const expectedUrl = `${baseUrl}?${expectedQuery}`; expect.assertions(2); diff --git a/src/lib/api/resources/EmailLogs.ts b/src/lib/api/resources/EmailLogs.ts index 856b964..6954161 100644 --- a/src/lib/api/resources/EmailLogs.ts +++ b/src/lib/api/resources/EmailLogs.ts @@ -14,7 +14,7 @@ const { GENERAL_ENDPOINT } = CLIENT_SETTINGS; /** * Serialize query params for email logs list. Uses qs for deepObject-style * bracket notation (e.g. filters[sent_after]=..., filters[to][operator]=...) - * with repeated keys for array values. + * with bracket notation for arrays (Rails-style, e.g. filters[category][value][]=foo). */ function serializeEmailLogsParams(params: EmailLogsListParams): string { const query: Record = {}; @@ -25,7 +25,7 @@ function serializeEmailLogsParams(params: EmailLogsListParams): string { query.filters = params.filters; } return qs.stringify(query, { - arrayFormat: "repeat", + arrayFormat: "brackets", encode: true, encodeValuesOnly: true, });