UNPKG

@bebapps/rapyd-sdk

Version:

An un-official [Rapyd](https://rapyd.net) SDK for Node.js.

75 lines (68 loc) 3.58 kB
import { RapydClient } from '../../../core/RapydClient'; import { WalletContact } from '../types/WalletContact'; import { WalletContactError } from '../enums/WalletContactError'; import { AddContactToWalletRequest } from '../requests/AddContactToWalletRequest'; import { UpdateWalletContactRequest } from '../requests/UpdateWalletContactRequest'; import { RetrieveWalletContactRequest } from '../requests/RetrieveWalletContactRequest'; import { ListContactsForARapydWalletRequest } from '../requests/ListContactsForARapydWalletRequest'; import { DeleteWalletContactRequest } from '../requests/DeleteWalletContactRequest'; export async function addContactToWallet<R = WalletContact>(client: RapydClient, request: AddContactToWalletRequest): Promise<R> { const response = await client.post('/v1/ewallets/{}/contacts', request.wallet, { address: request.address, contact_type: request.contact_type, country: request.country, date_of_birth: request.date_of_birth, email: request.email, first_name: request.first_name, gender: request.gender, house_type: request.house_type, identification_number: request.identification_number, identification_type: request.identification_type, last_name: request.last_name, marital_status: request.marital_status, metadata: request.metadata, middle_name: request.middle_name, mothers_name: request.mothers_name, nationality: request.nationality, phone_number: request.phone_number, second_last_name: request.second_last_name, send_notifications: request.send_notifications, }); return await response.data<R, WalletContactError>(); } export async function updateWalletContact<R = WalletContact>(client: RapydClient, request: UpdateWalletContactRequest): Promise<R> { const response = await client.post('/v1/ewallets/{}/contacts/{}', request.wallet, request.contact, { address: request.address, business_details: request.business_details, country: request.country, date_of_birth: request.date_of_birth, email: request.email, first_name: request.first_name, gender: request.gender, house_type: request.house_type, identification_number: request.identification_number, identification_type: request.identification_type, last_name: request.last_name, marital_status: request.marital_status, metadata: request.metadata, middle_name: request.middle_name, mothers_name: request.mothers_name, nationality: request.nationality, phone_number: request.phone_number, second_last_name: request.second_last_name, send_notifications: request.send_notifications, }); return await response.data<R, WalletContactError>(); } export async function retrieveWalletContact<R = WalletContact>(client: RapydClient, request: RetrieveWalletContactRequest): Promise<R> { const response = await client.get('/v1/ewallets/{}/contacts/{}', request.wallet, request.contact); return await response.data<R, WalletContactError>(); } export async function listContactsForARapydWallet<R = WalletContact>(client: RapydClient, request: ListContactsForARapydWalletRequest): Promise<R> { const response = await client.get('/v1/ewallets/{}/contacts', request.wallet); return await response.data<R, WalletContactError>(); } export async function deleteWalletContact<R = WalletContact>(client: RapydClient, request: DeleteWalletContactRequest): Promise<R> { const response = await client.delete('/v1/ewallets/{}/contacts/{}', request.wallet, request.contact); return await response.data<R, WalletContactError>(); }