mirror of https://github.com/buster-so/buster.git
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:
commit
d9bda6f7aa
|
@ -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>;
|
||||
|
||||
|
|
Loading…
Reference in New Issue