fix bug on processing array input for DELETE approved-domains

This commit is contained in:
Wells Bunker 2025-09-26 10:22:14 -06:00
parent 63b90fcaa8
commit f47bfe2418
No known key found for this signature in database
GPG Key ID: DB16D6F2679B78FC
1 changed files with 7 additions and 21 deletions

View File

@ -14,28 +14,14 @@ export const AddApprovedDomainRequestSchema = z.object({
export type AddApprovedDomainRequest = z.infer<typeof AddApprovedDomainRequestSchema>;
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<string, unknown>;
// 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<typeof RemoveApprovedDomainRequestSchema>;