import { z } from 'zod'; export const NewsletterStatusEnum = z.enum(['draft', 'scheduled', 'sending', 'sent', 'failed']); export const CreateNewsletterSchema = z.object({ accountId: z.string().uuid(), templateId: z.string().uuid().optional(), subject: z.string().min(1).max(256), bodyHtml: z.string().min(1), bodyText: z.string().optional(), scheduledAt: z.string().optional(), }); export type CreateNewsletterInput = z.infer; export const CreateTemplateSchema = z.object({ accountId: z.string().uuid(), name: z.string().min(1), subject: z.string().min(1), bodyHtml: z.string().min(1), bodyText: z.string().optional(), variables: z.array(z.string()).default([]), }); export const SelectRecipientsSchema = z.object({ newsletterId: z.string().uuid(), memberFilter: z.object({ status: z.array(z.string()).optional(), duesCategoryId: z.string().uuid().optional(), hasEmail: z.boolean().default(true), }).optional(), manualEmails: z.array(z.string().email()).optional(), });