"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bulkMappingResultSchema = exports.bulkMappingOperationSchema = exports.mappingStatsSchema = exports.mappingSearchFiltersSchema = exports.userIdMappingSchema = exports.updateMappingRequestSchema = exports.createMappingRequestSchema = void 0; const zod_1 = require("zod"); exports.createMappingRequestSchema = zod_1.z.object({ userId: zod_1.z.string().uuid(), whmcsClientId: zod_1.z.number().int().positive(), sfAccountId: zod_1.z .string() .min(1, "Salesforce account ID must be at least 1 character") .optional(), }); exports.updateMappingRequestSchema = zod_1.z.object({ whmcsClientId: zod_1.z.number().int().positive().optional(), sfAccountId: zod_1.z .string() .min(1, "Salesforce account ID must be at least 1 character") .optional(), }); exports.userIdMappingSchema = zod_1.z.object({ id: zod_1.z.string().uuid(), userId: zod_1.z.string().uuid(), whmcsClientId: zod_1.z.number().int().positive(), sfAccountId: zod_1.z.string().nullable().optional(), createdAt: zod_1.z.union([zod_1.z.string(), zod_1.z.date()]), updatedAt: zod_1.z.union([zod_1.z.string(), zod_1.z.date()]), }); exports.mappingSearchFiltersSchema = zod_1.z.object({ userId: zod_1.z.string().uuid().optional(), whmcsClientId: zod_1.z.number().int().positive().optional(), sfAccountId: zod_1.z.string().optional(), hasWhmcsMapping: zod_1.z.boolean().optional(), hasSfMapping: zod_1.z.boolean().optional(), }); exports.mappingStatsSchema = zod_1.z.object({ totalMappings: zod_1.z.number().int().nonnegative(), whmcsMappings: zod_1.z.number().int().nonnegative(), salesforceMappings: zod_1.z.number().int().nonnegative(), completeMappings: zod_1.z.number().int().nonnegative(), orphanedMappings: zod_1.z.number().int().nonnegative(), }); exports.bulkMappingOperationSchema = zod_1.z.object({ operation: zod_1.z.enum(["create", "update", "delete"]), mappings: zod_1.z.union([ zod_1.z.array(exports.createMappingRequestSchema), zod_1.z.array(exports.updateMappingRequestSchema), zod_1.z.array(zod_1.z.string().uuid()), ]), }); exports.bulkMappingResultSchema = zod_1.z.object({ successful: zod_1.z.number().int().nonnegative(), failed: zod_1.z.number().int().nonnegative(), errors: zod_1.z.array(zod_1.z.object({ index: zod_1.z.number().int().nonnegative(), error: zod_1.z.string(), data: zod_1.z.unknown(), })), }); //# sourceMappingURL=schema.js.map