feat: implement bulk contact action selector for improved flexibility in bulk operations

This commit is contained in:
Dries Augustyns
2026-05-10 10:40:40 +02:00
parent 7658a59b5d
commit de6335e999
8 changed files with 713 additions and 355 deletions
+15 -3
View File
@@ -96,9 +96,21 @@ export const ContactSchemas = {
subscribed: z.boolean().default(true),
data: jsonSchema.optional(),
}),
bulkAction: z.object({
contactIds: z.array(uuid).min(1).max(1000),
}),
bulkAction: z.discriminatedUnion('mode', [
z.object({
mode: z.literal('ids'),
contactIds: z.array(uuid).min(1).max(1000),
}),
z.object({
mode: z.literal('query'),
filter: z
.object({
search: z.string().max(255).optional(),
})
.default({}),
excludeIds: z.array(uuid).max(10000).optional(),
}),
]),
lookup: z.object({
emails: z.array(z.string().email()).min(1).max(500),
}),