/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; export type IngestEventRequest = { customerId?: string | undefined; eventId?: string | undefined; eventName: string; externalCustomerId: string; /** * Handled separately for dynamic columns */ properties?: { [k: string]: string } | undefined; source?: string | undefined; /** * Handled separately due to parsing */ timestamp?: string | undefined; }; /** @internal */ export type IngestEventRequest$Outbound = { customer_id?: string | undefined; event_id?: string | undefined; event_name: string; external_customer_id: string; properties?: { [k: string]: string } | undefined; source?: string | undefined; timestamp?: string | undefined; }; /** @internal */ export const IngestEventRequest$outboundSchema: z.ZodMiniType< IngestEventRequest$Outbound, IngestEventRequest > = z.pipe( z.object({ customerId: z.optional(z.string()), eventId: z.optional(z.string()), eventName: z.string(), externalCustomerId: z.string(), properties: z.optional(z.record(z.string(), z.string())), source: z.optional(z.string()), timestamp: z.optional(z.string()), }), z.transform((v) => { return remap$(v, { customerId: "customer_id", eventId: "event_id", eventName: "event_name", externalCustomerId: "external_customer_id", }); }), ); export function ingestEventRequestToJSON( ingestEventRequest: IngestEventRequest, ): string { return JSON.stringify( IngestEventRequest$outboundSchema.parse(ingestEventRequest), ); }