"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateResponseStatusSchema = exports.listAdminResponsesSchema = exports.listPublicResponsesSchema = exports.submitResponseSchema = void 0; const zod_1 = require("zod"); const client_1 = require("@prisma/client"); exports.submitResponseSchema = zod_1.z.object({ representativeName: zod_1.z.string().min(1, 'Representative name is required').max(200), representativeLevel: zod_1.z.nativeEnum(client_1.GovernmentLevel), responseType: zod_1.z.nativeEnum(client_1.ResponseType), responseText: zod_1.z.string().min(1, 'Response text is required').max(5000), representativeTitle: zod_1.z.string().max(200).optional(), representativeEmail: zod_1.z.string().email().optional(), userComment: zod_1.z.string().max(1000).optional(), submittedByName: zod_1.z.string().max(200).optional(), submittedByEmail: zod_1.z.string().email().optional(), isAnonymous: zod_1.z.boolean().optional().default(false), sendVerification: zod_1.z.boolean().optional().default(false), }); exports.listPublicResponsesSchema = 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), sort: zod_1.z.enum(['recent', 'upvotes', 'verified']).optional().default('recent'), level: zod_1.z.nativeEnum(client_1.GovernmentLevel).optional(), }); exports.listAdminResponsesSchema = 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.ResponseStatus).optional(), campaignId: zod_1.z.string().optional(), search: zod_1.z.string().optional(), }); exports.updateResponseStatusSchema = zod_1.z.object({ status: zod_1.z.nativeEnum(client_1.ResponseStatus), }); //# sourceMappingURL=responses.schemas.js.map