/** * ID Mapping Domain - Schemas */ import { z } from "zod"; import type { CreateMappingRequest, UpdateMappingRequest, UserIdMapping, } from "./contract"; export const createMappingRequestSchema: z.ZodType = z.object({ userId: z.string().uuid(), whmcsClientId: z.number().int().positive(), sfAccountId: z .string() .min(1, "Salesforce account ID must be at least 1 character") .optional(), }); export const updateMappingRequestSchema: z.ZodType = z.object({ whmcsClientId: z.number().int().positive().optional(), sfAccountId: z .string() .min(1, "Salesforce account ID must be at least 1 character") .optional(), }); export const userIdMappingSchema: z.ZodType = z.object({ id: z.string().uuid(), userId: z.string().uuid(), whmcsClientId: z.number().int().positive(), sfAccountId: z.string().nullable().optional(), createdAt: z.union([z.string(), z.date()]), updatedAt: z.union([z.string(), z.date()]), });