import { z } from 'zod'; import { CANAIS_TEMPLATE, TIPOS_TEMPLATE_TENANT } from '@/lib/api/tenant-alert-templates'; /** Espelha `CreateTenantAlertTemplateDto` — mesma regra condicional de `assunto` do validador master. */ export const tenantAlertTemplateSchema = z .object({ tipo: z.enum(TIPOS_TEMPLATE_TENANT, 'Selecione um tipo'), canal: z.enum(CANAIS_TEMPLATE, 'Selecione um canal'), assunto: z.string().optional(), corpo: z.string().min(1, 'Informe o corpo da mensagem'), ativo: z.boolean(), }) .refine((data) => data.canal !== 'email' || (data.assunto?.trim().length ?? 0) > 0, { message: 'Assunto é obrigatório para templates de e-mail', path: ['assunto'], }); export type TenantAlertTemplateFormValues = z.infer;