bankson-js-mb
Version:
Bankson.fi Node client, Mad Booster fork
31 lines (22 loc) • 1.24 kB
text/typescript
import Qs from 'qs'
import BaseSubClient from '../baseSubClient.js'
import type { BankAccountResponse, BaseResponse, PaginationOptions } from '../types.js'
export type BankAccountCreateData = Omit<BankAccountResponse, 'id' | 'customer_information'> & {
customer_information: Pick<NonNullable<BankAccountResponse['customer_information']>, 'name' | 'business_id'>
}
export type BankAccountUpdateData = Pick<BankAccountCreateData, 'contract_id'> & { customer_information?: Partial<BankAccountCreateData['customer_information']> | null }
type BankAccountFilters = PaginationOptions
export default class BankAccounts extends BaseSubClient {
fetchV2(opts: BankAccountFilters) {
return this.base.get<BaseResponse<BankAccountResponse>>('/v2/bank-accounts?' + Qs.stringify(opts))
}
createV2(data: BankAccountCreateData) {
return this.base.post<BankAccountCreateData, BankAccountResponse>('/v2/bank-accounts', data)
}
updateV2(id: string, data: BankAccountUpdateData) {
return this.base.put<BankAccountUpdateData, BankAccountResponse>(`/v2/bank-accounts/${id}`, data)
}
updateBalanceV2(id: string) {
return this.base.post<Record<string, never>, BankAccountResponse>(`/v2/bank-accounts/${id}/balance`, {})
}
}