/* * 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 { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BankAccountUpdate, BankAccountUpdate$inboundSchema, BankAccountUpdate$Outbound, BankAccountUpdate$outboundSchema, } from "./bankaccountupdate.js"; /** * A relationship between a bank account and an Apex account. */ export type BankRelationshipUpdate = { /** * A representation of a bank account. */ bankAccount?: BankAccountUpdate | undefined; /** * The nickname of the bank relationship. */ nickname?: string | undefined; /** * A processor token from Plaid (vendor). Required if using `PLAID_TOKEN` verification method. */ plaidProcessorToken?: string | undefined; }; /** @internal */ export const BankRelationshipUpdate$inboundSchema: z.ZodType< BankRelationshipUpdate, z.ZodTypeDef, unknown > = z.object({ bank_account: BankAccountUpdate$inboundSchema.optional(), nickname: z.string().optional(), plaid_processor_token: z.string().optional(), }).transform((v) => { return remap$(v, { "bank_account": "bankAccount", "plaid_processor_token": "plaidProcessorToken", }); }); /** @internal */ export type BankRelationshipUpdate$Outbound = { bank_account?: BankAccountUpdate$Outbound | undefined; nickname?: string | undefined; plaid_processor_token?: string | undefined; }; /** @internal */ export const BankRelationshipUpdate$outboundSchema: z.ZodType< BankRelationshipUpdate$Outbound, z.ZodTypeDef, BankRelationshipUpdate > = z.object({ bankAccount: BankAccountUpdate$outboundSchema.optional(), nickname: z.string().optional(), plaidProcessorToken: z.string().optional(), }).transform((v) => { return remap$(v, { bankAccount: "bank_account", plaidProcessorToken: "plaid_processor_token", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace BankRelationshipUpdate$ { /** @deprecated use `BankRelationshipUpdate$inboundSchema` instead. */ export const inboundSchema = BankRelationshipUpdate$inboundSchema; /** @deprecated use `BankRelationshipUpdate$outboundSchema` instead. */ export const outboundSchema = BankRelationshipUpdate$outboundSchema; /** @deprecated use `BankRelationshipUpdate$Outbound` instead. */ export type Outbound = BankRelationshipUpdate$Outbound; } export function bankRelationshipUpdateToJSON( bankRelationshipUpdate: BankRelationshipUpdate, ): string { return JSON.stringify( BankRelationshipUpdate$outboundSchema.parse(bankRelationshipUpdate), ); } export function bankRelationshipUpdateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => BankRelationshipUpdate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BankRelationshipUpdate' from JSON`, ); }