"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.campaignIdParamSchema = exports.campaignSlugParamSchema = exports.listCampaignEmailsSchema = exports.trackMailtoSchema = exports.sendCampaignEmailSchema = void 0;
const zod_1 = require("zod");
const client_1 = require("@prisma/client");
exports.sendCampaignEmailSchema = zod_1.z.object({
    userEmail: zod_1.z.string().email('Valid email is required'),
    userName: zod_1.z.string().min(1, 'Name is required'),
    postalCode: zod_1.z.string().min(1, 'Postal code is required'),
    recipientEmail: zod_1.z.string().email('Valid recipient email is required'),
    recipientName: zod_1.z.string().optional(),
    recipientTitle: zod_1.z.string().optional(),
    recipientLevel: zod_1.z.nativeEnum(client_1.GovernmentLevel).optional(),
    emailMethod: zod_1.z.nativeEnum(client_1.EmailMethod),
    customEmailSubject: zod_1.z.string().optional(),
    customEmailBody: zod_1.z.string().optional(),
});
exports.trackMailtoSchema = zod_1.z.object({
    recipientEmail: zod_1.z.string().email('Valid recipient email is required'),
    recipientName: zod_1.z.string().optional(),
    recipientTitle: zod_1.z.string().optional(),
    recipientLevel: zod_1.z.nativeEnum(client_1.GovernmentLevel).optional(),
    userEmail: zod_1.z.string().email().optional(),
    userName: zod_1.z.string().optional(),
    postalCode: zod_1.z.string().optional(),
});
exports.listCampaignEmailsSchema = 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),
    status: zod_1.z.nativeEnum(client_1.CampaignEmailStatus).optional(),
    emailMethod: zod_1.z.nativeEnum(client_1.EmailMethod).optional(),
});
exports.campaignSlugParamSchema = zod_1.z.object({
    slug: zod_1.z.string().min(1),
});
exports.campaignIdParamSchema = zod_1.z.object({
    id: zod_1.z.string().min(1),
});
//# sourceMappingURL=campaign-emails.schemas.js.map