"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.campaignIdSchema = exports.listCampaignsSchema = exports.updateCampaignSchema = exports.createCampaignSchema = void 0; const zod_1 = require("zod"); const client_1 = require("@prisma/client"); exports.createCampaignSchema = zod_1.z.object({ title: zod_1.z.string().min(1, 'Title is required'), description: zod_1.z.string().optional(), emailSubject: zod_1.z.string().min(1, 'Email subject is required'), emailBody: zod_1.z.string().min(1, 'Email body is required'), callToAction: zod_1.z.string().optional(), status: zod_1.z.nativeEnum(client_1.CampaignStatus).optional().default(client_1.CampaignStatus.DRAFT), targetGovernmentLevels: zod_1.z.array(zod_1.z.nativeEnum(client_1.GovernmentLevel)).optional().default([]), allowSmtpEmail: zod_1.z.boolean().optional().default(true), allowMailtoLink: zod_1.z.boolean().optional().default(true), collectUserInfo: zod_1.z.boolean().optional().default(true), showEmailCount: zod_1.z.boolean().optional().default(true), showCallCount: zod_1.z.boolean().optional().default(true), allowEmailEditing: zod_1.z.boolean().optional().default(false), allowCustomRecipients: zod_1.z.boolean().optional().default(false), showResponseWall: zod_1.z.boolean().optional().default(false), highlightCampaign: zod_1.z.boolean().optional().default(false), coverPhoto: zod_1.z.string().optional(), }); exports.updateCampaignSchema = zod_1.z.object({ title: zod_1.z.string().min(1).optional(), description: zod_1.z.string().nullable().optional(), emailSubject: zod_1.z.string().min(1).optional(), emailBody: zod_1.z.string().min(1).optional(), callToAction: zod_1.z.string().nullable().optional(), status: zod_1.z.nativeEnum(client_1.CampaignStatus).optional(), targetGovernmentLevels: zod_1.z.array(zod_1.z.nativeEnum(client_1.GovernmentLevel)).optional(), allowSmtpEmail: zod_1.z.boolean().optional(), allowMailtoLink: zod_1.z.boolean().optional(), collectUserInfo: zod_1.z.boolean().optional(), showEmailCount: zod_1.z.boolean().optional(), showCallCount: zod_1.z.boolean().optional(), allowEmailEditing: zod_1.z.boolean().optional(), allowCustomRecipients: zod_1.z.boolean().optional(), showResponseWall: zod_1.z.boolean().optional(), highlightCampaign: zod_1.z.boolean().optional(), coverPhoto: zod_1.z.string().nullable().optional(), }); exports.listCampaignsSchema = zod_1.z.object({ page: zod_1.z.coerce.number().int().positive().default(1), limit: zod_1.z.coerce.number().int().positive().max(100).default(20), search: zod_1.z.string().optional(), status: zod_1.z.nativeEnum(client_1.CampaignStatus).optional(), }); exports.campaignIdSchema = zod_1.z.object({ id: zod_1.z.string().min(1), }); //# sourceMappingURL=campaigns.schemas.js.map