@bebapps/rapyd-sdk
Version:
An un-official [Rapyd](https://rapyd.net) SDK for Node.js.
64 lines (56 loc) • 2.62 kB
text/typescript
import { RapydClient } from '../../../core/RapydClient';
import { Wallet } from '../types/Wallet';
import { WalletError } from '../enums/WalletError';
import { CreateWalletRequest } from '../requests/CreateWalletRequest';
import { UpdateWalletRequest } from '../requests/UpdateWalletRequest';
import { DisableWalletRequest } from '../requests/DisableWalletRequest';
import { EnableWalletRequest } from '../requests/EnableWalletRequest';
import { RetrieveWalletRequest } from '../requests/RetrieveWalletRequest';
import { DeleteWalletRequest } from '../requests/DeleteWalletRequest';
export async function createWallet<R = Wallet>(client: RapydClient, request: CreateWalletRequest): Promise<R> {
const response = await client.post('/v1/user', {
contact: request.contact,
email: request.email,
ewallet_reference_id: request.ewallet_reference_id,
first_name: request.first_name,
last_name: request.last_name,
metadata: request.metadata,
phone_number: request.phone_number,
type: request.type,
});
return await response.data<R, WalletError>();
}
export async function updateWallet<R = Wallet>(client: RapydClient, request: UpdateWalletRequest): Promise<R> {
const response = await client.put('/v1/user', {
email: request.email,
ewallet: request.ewallet,
ewallet_reference_id: request.ewallet_reference_id,
first_name: request.first_name,
last_name: request.last_name,
metadata: request.metadata,
phone_number: request.phone_number,
});
return await response.data<R, WalletError>();
}
export async function disableWallet<R = Wallet>(client: RapydClient, request: DisableWalletRequest): Promise<R> {
const response = await client.put('/v1/user/disable', {
ewallet: request.ewallet,
phone_number: request.phone_number,
});
return await response.data<R, WalletError>();
}
export async function enableWallet<R = Wallet>(client: RapydClient, request: EnableWalletRequest): Promise<R> {
const response = await client.put('/v1/user/enable', {
ewallet: request.ewallet,
phone_number: request.phone_number,
});
return await response.data<R, WalletError>();
}
export async function retrieveWallet<R = Wallet>(client: RapydClient, request: RetrieveWalletRequest): Promise<R> {
const response = await client.get('/v1/user/{}', request.wallet);
return await response.data<R, WalletError>();
}
export async function deleteWallet<R = Wallet>(client: RapydClient, request: DeleteWalletRequest): Promise<R> {
const response = await client.delete('/v1/user/{}', request.wallet);
return await response.data<R, WalletError>();
}