/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { catchUnrecognizedEnum, OpenEnum, Unrecognized, } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * **Field Dependencies:** * * @remarks * * Required if `enrollment_id` is not present. * * Otherwise, must be empty. */ export enum DeactivateEnrollmentRequestCreateEnrollmentType { EnrollmentTypeUnspecified = "ENROLLMENT_TYPE_UNSPECIFIED", RegistrationIndividual = "REGISTRATION_INDIVIDUAL", LendingFullyPaidStockLoan = "LENDING_FULLY_PAID_STOCK_LOAN", BeneficiaryDesignation = "BENEFICIARY_DESIGNATION", RegistrationJointWros = "REGISTRATION_JOINT_WROS", RegistrationJointTic = "REGISTRATION_JOINT_TIC", RegistrationJointTbe = "REGISTRATION_JOINT_TBE", RegistrationJointCp = "REGISTRATION_JOINT_CP", RegistrationEstate = "REGISTRATION_ESTATE", RegistrationIraTraditional = "REGISTRATION_IRA_TRADITIONAL", RegistrationIraSep = "REGISTRATION_IRA_SEP", RegistrationIraRoth = "REGISTRATION_IRA_ROTH", RegistrationIraRollover = "REGISTRATION_IRA_ROLLOVER", RegistrationTrust = "REGISTRATION_TRUST", RegistrationCorporation = "REGISTRATION_CORPORATION", RegistrationLlc = "REGISTRATION_LLC", CashFdicCashSweep = "CASH_FDIC_CASH_SWEEP", RetirementBeneficiaryDesignation = "RETIREMENT_BENEFICIARY_DESIGNATION", DividendReinvestmentPlan = "DIVIDEND_REINVESTMENT_PLAN", RegistrationIraBeneficiaryTraditional = "REGISTRATION_IRA_BENEFICIARY_TRADITIONAL", RegistrationIraBeneficiaryRoth = "REGISTRATION_IRA_BENEFICIARY_ROTH", RegistrationIndividualForeign = "REGISTRATION_INDIVIDUAL_FOREIGN", RegistrationCustodial = "REGISTRATION_CUSTODIAL", RegTMargin = "REG_T_MARGIN", VirtualAccountNumber = "VIRTUAL_ACCOUNT_NUMBER", } /** * **Field Dependencies:** * * @remarks * * Required if `enrollment_id` is not present. * * Otherwise, must be empty. */ export type DeactivateEnrollmentRequestCreateEnrollmentTypeOpen = OpenEnum< typeof DeactivateEnrollmentRequestCreateEnrollmentType >; /** * The request for deactivating an Enrollment on an account. */ export type DeactivateEnrollmentRequestCreate = { /** * **Field Dependencies:** * * @remarks * * Required if `enrollment_type` is not present. * * Otherwise, must be empty. */ enrollmentId?: string | undefined; /** * **Field Dependencies:** * * @remarks * * Required if `enrollment_id` is not present. * * Otherwise, must be empty. */ enrollmentType?: | DeactivateEnrollmentRequestCreateEnrollmentTypeOpen | undefined; }; /** @internal */ export const DeactivateEnrollmentRequestCreateEnrollmentType$inboundSchema: z.ZodType< DeactivateEnrollmentRequestCreateEnrollmentTypeOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(DeactivateEnrollmentRequestCreateEnrollmentType), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const DeactivateEnrollmentRequestCreateEnrollmentType$outboundSchema: z.ZodType< DeactivateEnrollmentRequestCreateEnrollmentTypeOpen, z.ZodTypeDef, DeactivateEnrollmentRequestCreateEnrollmentTypeOpen > = z.union([ z.nativeEnum(DeactivateEnrollmentRequestCreateEnrollmentType), z.string().and(z.custom>()), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace DeactivateEnrollmentRequestCreateEnrollmentType$ { /** @deprecated use `DeactivateEnrollmentRequestCreateEnrollmentType$inboundSchema` instead. */ export const inboundSchema = DeactivateEnrollmentRequestCreateEnrollmentType$inboundSchema; /** @deprecated use `DeactivateEnrollmentRequestCreateEnrollmentType$outboundSchema` instead. */ export const outboundSchema = DeactivateEnrollmentRequestCreateEnrollmentType$outboundSchema; } /** @internal */ export const DeactivateEnrollmentRequestCreate$inboundSchema: z.ZodType< DeactivateEnrollmentRequestCreate, z.ZodTypeDef, unknown > = z.object({ enrollment_id: z.string().optional(), enrollment_type: DeactivateEnrollmentRequestCreateEnrollmentType$inboundSchema .optional(), }).transform((v) => { return remap$(v, { "enrollment_id": "enrollmentId", "enrollment_type": "enrollmentType", }); }); /** @internal */ export type DeactivateEnrollmentRequestCreate$Outbound = { enrollment_id?: string | undefined; enrollment_type?: string | undefined; }; /** @internal */ export const DeactivateEnrollmentRequestCreate$outboundSchema: z.ZodType< DeactivateEnrollmentRequestCreate$Outbound, z.ZodTypeDef, DeactivateEnrollmentRequestCreate > = z.object({ enrollmentId: z.string().optional(), enrollmentType: DeactivateEnrollmentRequestCreateEnrollmentType$outboundSchema .optional(), }).transform((v) => { return remap$(v, { enrollmentId: "enrollment_id", enrollmentType: "enrollment_type", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace DeactivateEnrollmentRequestCreate$ { /** @deprecated use `DeactivateEnrollmentRequestCreate$inboundSchema` instead. */ export const inboundSchema = DeactivateEnrollmentRequestCreate$inboundSchema; /** @deprecated use `DeactivateEnrollmentRequestCreate$outboundSchema` instead. */ export const outboundSchema = DeactivateEnrollmentRequestCreate$outboundSchema; /** @deprecated use `DeactivateEnrollmentRequestCreate$Outbound` instead. */ export type Outbound = DeactivateEnrollmentRequestCreate$Outbound; } export function deactivateEnrollmentRequestCreateToJSON( deactivateEnrollmentRequestCreate: DeactivateEnrollmentRequestCreate, ): string { return JSON.stringify( DeactivateEnrollmentRequestCreate$outboundSchema.parse( deactivateEnrollmentRequestCreate, ), ); } export function deactivateEnrollmentRequestCreateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => DeactivateEnrollmentRequestCreate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeactivateEnrollmentRequestCreate' from JSON`, ); }