59 lines
2.5 KiB
JavaScript

"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