From f47bfe24183922218ed8f47d9ce8b5067e411006 Mon Sep 17 00:00:00 2001 From: Wells Bunker Date: Fri, 26 Sep 2025 10:22:14 -0600 Subject: [PATCH] fix bug on processing array input for DELETE approved-domains --- .../server-shared/src/security/requests.ts | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/packages/server-shared/src/security/requests.ts b/packages/server-shared/src/security/requests.ts index d88727135..fdbc15cba 100644 --- a/packages/server-shared/src/security/requests.ts +++ b/packages/server-shared/src/security/requests.ts @@ -14,28 +14,14 @@ export const AddApprovedDomainRequestSchema = z.object({ export type AddApprovedDomainRequest = z.infer; -export const RemoveApprovedDomainRequestSchema = z.preprocess( - (input: unknown) => { - // Handle query string array format (e.g., ?domains[]=example.com&domains[]=test.com) - if (typeof input === 'object' && input !== null && 'domains[]' in input) { - const { 'domains[]': domainsArray, ...rest } = input as Record; - - // Convert domains[] to domains array - if (Array.isArray(domainsArray)) { - return { ...rest, domains: domainsArray }; - } - if (typeof domainsArray === 'string') { - return { ...rest, domains: [domainsArray] }; - } - - return { ...rest, domains: [] }; +export const RemoveApprovedDomainRequestSchema = z.object({ + domains: z.preprocess((val) => { + if (typeof val === 'string') { + return [val]; } - return input; - }, - z.object({ - domains: z.array(z.string()), - }) -); + return val; + }, z.array(z.string())), +}); export type RemoveApprovedDomainRequest = z.infer;