/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type PostWebinarsWebinarIdRegistrationsRequestBody = { /** * Email address of the registrant */ email: string; /** * First name of the registrant */ firstName: string; /** * Last name of the registrant */ lastName: string; }; export type PostWebinarsWebinarIdRegistrationsRequest = { /** * Hashed ID of the webinar */ webinarId: string; requestBody: PostWebinarsWebinarIdRegistrationsRequestBody; }; /** * Registration created successfully */ export type PostWebinarsWebinarIdRegistrationsResponse = { /** * Unique visitor key generated for the registrant */ visitorKey: string; /** * Personalized URL for the registrant to access the webinar */ personalizedEventUrl: string; }; /** @internal */ export type PostWebinarsWebinarIdRegistrationsRequestBody$Outbound = { email: string; first_name: string; last_name: string; }; /** @internal */ export const PostWebinarsWebinarIdRegistrationsRequestBody$outboundSchema: z.ZodType< PostWebinarsWebinarIdRegistrationsRequestBody$Outbound, z.ZodTypeDef, PostWebinarsWebinarIdRegistrationsRequestBody > = z.object({ email: z.string(), firstName: z.string(), lastName: z.string(), }).transform((v) => { return remap$(v, { firstName: "first_name", lastName: "last_name", }); }); export function postWebinarsWebinarIdRegistrationsRequestBodyToJSON( postWebinarsWebinarIdRegistrationsRequestBody: PostWebinarsWebinarIdRegistrationsRequestBody, ): string { return JSON.stringify( PostWebinarsWebinarIdRegistrationsRequestBody$outboundSchema.parse( postWebinarsWebinarIdRegistrationsRequestBody, ), ); } /** @internal */ export type PostWebinarsWebinarIdRegistrationsRequest$Outbound = { webinarId: string; RequestBody: PostWebinarsWebinarIdRegistrationsRequestBody$Outbound; }; /** @internal */ export const PostWebinarsWebinarIdRegistrationsRequest$outboundSchema: z.ZodType< PostWebinarsWebinarIdRegistrationsRequest$Outbound, z.ZodTypeDef, PostWebinarsWebinarIdRegistrationsRequest > = z.object({ webinarId: z.string(), requestBody: z.lazy(() => PostWebinarsWebinarIdRegistrationsRequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { requestBody: "RequestBody", }); }); export function postWebinarsWebinarIdRegistrationsRequestToJSON( postWebinarsWebinarIdRegistrationsRequest: PostWebinarsWebinarIdRegistrationsRequest, ): string { return JSON.stringify( PostWebinarsWebinarIdRegistrationsRequest$outboundSchema.parse( postWebinarsWebinarIdRegistrationsRequest, ), ); } /** @internal */ export const PostWebinarsWebinarIdRegistrationsResponse$inboundSchema: z.ZodType = z.object({ visitor_key: z.string(), personalized_event_url: z.string(), }).transform((v) => { return remap$(v, { "visitor_key": "visitorKey", "personalized_event_url": "personalizedEventUrl", }); }); export function postWebinarsWebinarIdRegistrationsResponseFromJSON( jsonString: string, ): SafeParseResult< PostWebinarsWebinarIdRegistrationsResponse, SDKValidationError > { return safeParse( jsonString, (x) => PostWebinarsWebinarIdRegistrationsResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'PostWebinarsWebinarIdRegistrationsResponse' from JSON`, ); }