import { z } from "zod";

export const bulkUpdateContactsSchema = z.discriminatedUnion("action", [
  z.object({
    ids: z.array(z.string()).min(1, "Selecione ao menos um contato"),
    action: z.literal("delete"),
  }),
  z.object({
    ids: z.array(z.string()).min(1, "Selecione ao menos um contato"),
    action: z.literal("addTags"),
    payload: z.object({ tags: z.array(z.string().trim().min(1)).min(1) }),
  }),
  z.object({
    ids: z.array(z.string()).min(1, "Selecione ao menos um contato"),
    action: z.literal("addToList"),
    payload: z.object({ listId: z.string().min(1) }),
  }),
]);

export type BulkUpdateContactsInput = z.infer<typeof bulkUpdateContactsSchema>;
