import { z } from 'zod'; export const ZCreateTemplateMutationSchema = z.object({ title: z.string().min(1).trim(), teamId: z.number().optional(), templateDocumentDataId: z.string().min(1), }); export const ZCreateDocumentFromTemplateMutationSchema = z.object({ templateId: z.number(), teamId: z.number().optional(), recipients: z .array( z.object({ id: z.number(), email: z.string().email(), name: z.string().optional(), }), ) .refine((recipients) => { const emails = recipients.map((signer) => signer.email); return new Set(emails).size === emails.length; }, 'Recipients must have unique emails'), sendDocument: z.boolean().optional(), }); export const ZDuplicateTemplateMutationSchema = z.object({ templateId: z.number(), teamId: z.number().optional(), }); export const ZDeleteTemplateMutationSchema = z.object({ id: z.number().min(1), }); export type TCreateTemplateMutationSchema = z.infer; export type TCreateDocumentFromTemplateMutationSchema = z.infer< typeof ZCreateDocumentFromTemplateMutationSchema >; export type TDuplicateTemplateMutationSchema = z.infer; export type TDeleteTemplateMutationSchema = z.infer;