Merge pull request #1176 from buster-so/wells-bus-1968-fix-securityapproved-domains-delete-request

fix bug on processing array input for DELETE approved-domains
This commit is contained in:
wellsbunk5 2025-09-26 10:29:49 -06:00 committed by GitHub
commit d9bda6f7aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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>;