Initial state for GitNexus analysis

This commit is contained in:
Zaid Marzguioui
2026-03-29 19:44:57 +02:00
parent 9d7c7f8030
commit 61ff48cb73
155 changed files with 23483 additions and 1722 deletions

View File

@@ -0,0 +1,32 @@
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<typeof CreateNewsletterSchema>;
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(),
});