/* * 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 { RFCDate } from "../../types/rfcdate.js"; /** * The signatory's home address. */ export type SignatoryInviteRequestHomeAddress = { street1?: string | undefined; street2?: string | undefined; city?: string | undefined; state?: string | undefined; zip?: string | undefined; country?: string | undefined; }; /** * Request body for inviting a signatory. */ export type SignatoryInviteRequest = { /** * The signatory's first name. */ firstName: string; middleInitial?: string | undefined; /** * The signatory's last name. */ lastName: string; /** * The signatory's title (e.g. CEO, President). */ title?: string | undefined; /** * The signatory's phone number. */ phone?: string | undefined; /** * The signatory's date of birth. */ birthday?: RFCDate | undefined; /** * The signatory's email address. */ email: string; /** * The signatory's SSN. Required for create with complete information; not used for invite. */ ssn?: string | undefined; /** * The signatory's home address. */ homeAddress?: SignatoryInviteRequestHomeAddress | undefined; }; /** @internal */ export type SignatoryInviteRequestHomeAddress$Outbound = { street_1?: string | undefined; street_2?: string | undefined; city?: string | undefined; state?: string | undefined; zip?: string | undefined; country: string; }; /** @internal */ export const SignatoryInviteRequestHomeAddress$outboundSchema: z.ZodType< SignatoryInviteRequestHomeAddress$Outbound, z.ZodTypeDef, SignatoryInviteRequestHomeAddress > = z.object({ street1: z.string().optional(), street2: z.string().optional(), city: z.string().optional(), state: z.string().optional(), zip: z.string().optional(), country: z.string().default("USA"), }).transform((v) => { return remap$(v, { street1: "street_1", street2: "street_2", }); }); export function signatoryInviteRequestHomeAddressToJSON( signatoryInviteRequestHomeAddress: SignatoryInviteRequestHomeAddress, ): string { return JSON.stringify( SignatoryInviteRequestHomeAddress$outboundSchema.parse( signatoryInviteRequestHomeAddress, ), ); } /** @internal */ export type SignatoryInviteRequest$Outbound = { first_name: string; middle_initial?: string | undefined; last_name: string; title?: string | undefined; phone?: string | undefined; birthday?: string | undefined; email: string; ssn?: string | undefined; home_address?: SignatoryInviteRequestHomeAddress$Outbound | undefined; }; /** @internal */ export const SignatoryInviteRequest$outboundSchema: z.ZodType< SignatoryInviteRequest$Outbound, z.ZodTypeDef, SignatoryInviteRequest > = z.object({ firstName: z.string(), middleInitial: z.string().optional(), lastName: z.string(), title: z.string().optional(), phone: z.string().optional(), birthday: z.instanceof(RFCDate).transform(v => v.toString()).optional(), email: z.string(), ssn: z.string().optional(), homeAddress: z.lazy(() => SignatoryInviteRequestHomeAddress$outboundSchema) .optional(), }).transform((v) => { return remap$(v, { firstName: "first_name", middleInitial: "middle_initial", lastName: "last_name", homeAddress: "home_address", }); }); export function signatoryInviteRequestToJSON( signatoryInviteRequest: SignatoryInviteRequest, ): string { return JSON.stringify( SignatoryInviteRequest$outboundSchema.parse(signatoryInviteRequest), ); }