/** * PagarmeApiSDKLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { dict, lazy, nullable, object, optional, Schema, string, } from '../schema'; import { CreateBankAccountRequest, createBankAccountRequestSchema, } from './createBankAccountRequest'; import { CreateRegisterInformationBaseRequest, createRegisterInformationBaseRequestSchema, } from './createRegisterInformationBaseRequest'; import { CreateTransferSettingsRequest, createTransferSettingsRequestSchema, } from './createTransferSettingsRequest'; /** Request for creating a recipient */ export interface CreateRecipientRequest { /** Recipient name. Required if the register_information field isn't populated. */ name?: string | null; /** Recipient email. Required if the register_information field isn't populated. */ email?: string | null; /** Recipient description */ description?: string | null; /** Recipient document number. Required if the register_information field isn't populated. */ document?: string | null; /** Recipient type. Required if the register_information field isn't populated. */ type?: string | null; /** Bank account */ defaultBankAccount: CreateBankAccountRequest; /** Metadata */ metadata: Record; /** Receiver Transfer Information */ transferSettings?: CreateTransferSettingsRequest; /** Recipient code */ code: string; /** Payment mode */ paymentMode: string; /** Register Information */ registerInformation?: CreateRegisterInformationBaseRequest | null; } export const createRecipientRequestSchema: Schema = object( { name: ['name', optional(nullable(string()))], email: ['email', optional(nullable(string()))], description: ['description', optional(nullable(string()))], document: ['document', optional(nullable(string()))], type: ['type', optional(nullable(string()))], defaultBankAccount: [ 'default_bank_account', lazy(() => createBankAccountRequestSchema), ], metadata: ['metadata', dict(string())], transferSettings: [ 'transfer_settings', optional(lazy(() => createTransferSettingsRequestSchema)), ], code: ['code', string()], paymentMode: ['payment_mode', string()], registerInformation: [ 'register_information', optional( nullable(lazy(() => createRegisterInformationBaseRequestSchema)) ), ], } );