35 lines
1.9 KiB
JavaScript
35 lines
1.9 KiB
JavaScript
"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'),
|
|
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'),
|
|
representativeTitle: zod_1.z.string().optional(),
|
|
representativeEmail: zod_1.z.string().email().optional(),
|
|
userComment: zod_1.z.string().optional(),
|
|
submittedByName: zod_1.z.string().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
|