From 0ef6c7507112fb00ba9d13492bc0e033b16a8656 Mon Sep 17 00:00:00 2001 From: Daniel Rodrigues Date: Wed, 18 Aug 2021 11:39:17 +0100 Subject: [PATCH 1/2] Improve BankAccount manager and models methods --- .../managers/bank-account-manager.js | 32 +++++++- src/bank-account/models/bank-account-model.js | 16 ++++ .../resolvers/bank-account-resolver.js | 12 +++ .../managers/bank-account-manager.test.js | 76 +++++++++++++++++++ .../models/bank-account-model.test.js | 65 ++++++++++++++++ 5 files changed, 200 insertions(+), 1 deletion(-) diff --git a/src/bank-account/managers/bank-account-manager.js b/src/bank-account/managers/bank-account-manager.js index af53be5..eb7a9f0 100644 --- a/src/bank-account/managers/bank-account-manager.js +++ b/src/bank-account/managers/bank-account-manager.js @@ -3,7 +3,7 @@ * Module dependencies. */ -import { get, map } from 'lodash'; +import { get, map, merge } from 'lodash'; import AbstractManager from 'core/managers/abstract-manager'; /** @@ -12,6 +12,26 @@ import AbstractManager from 'core/managers/abstract-manager'; export default class BankAccountManager extends AbstractManager { + /** + * Create. + */ + + async create(data) { + const { data: bankAccount } = await this.resolver.create(data); + + return this.instantiate(bankAccount); + } + + /** + * Delete. + */ + + async delete(id) { + await this.resolver.delete({ id }); + + return true; + } + /** * Get. */ @@ -34,4 +54,14 @@ export default class BankAccountManager extends AbstractManager { return { results, total }; } + /** + * Patch. + */ + + async patch(id, data) { + const { data: bankAccount } = await this.resolver.patch(merge({}, data, { id })); + + return this.instantiate(bankAccount); + } + } diff --git a/src/bank-account/models/bank-account-model.js b/src/bank-account/models/bank-account-model.js index e09d811..cc74f3a 100644 --- a/src/bank-account/models/bank-account-model.js +++ b/src/bank-account/models/bank-account-model.js @@ -11,6 +11,14 @@ import AbstractModel from 'core/models/abstract-model'; export default class BankAccountModel extends AbstractModel { + /** + * Delete. + */ + + delete() { + return BankAccountModel.sdk.bankAccount.delete(this.id); + } + /** * Get asset. */ @@ -19,4 +27,12 @@ export default class BankAccountModel extends AbstractModel { return BankAccountModel.sdk.asset.get(this.asset, options); } + /** + * Patch. + */ + + patch(data) { + return BankAccountModel.sdk.bankAccount.patch(this.id, data); + } + } diff --git a/src/bank-account/resolvers/bank-account-resolver.js b/src/bank-account/resolvers/bank-account-resolver.js index a5faa56..5b348a0 100644 --- a/src/bank-account/resolvers/bank-account-resolver.js +++ b/src/bank-account/resolvers/bank-account-resolver.js @@ -10,6 +10,14 @@ import resolverFactory from 'core/util/resolver-factory'; */ const config = { + create: { + endpoint: 'bank-accounts', + method: 'post' + }, + delete: { + endpoint: 'bank-accounts/:id', + method: 'delete' + }, get: { endpoint: 'bank-accounts/:id', method: 'get' @@ -17,6 +25,10 @@ const config = { list: { endpoint: 'bank-accounts', method: 'get' + }, + patch: { + endpoint: 'bank-accounts/:id', + method: 'patch' } }; diff --git a/test/src/bank-account/managers/bank-account-manager.test.js b/test/src/bank-account/managers/bank-account-manager.test.js index 095afd2..17cd8c4 100644 --- a/test/src/bank-account/managers/bank-account-manager.test.js +++ b/test/src/bank-account/managers/bank-account-manager.test.js @@ -16,6 +16,51 @@ describe('BankAccountManager', () => { const host = 'http://foobar:3000'; const slyk = sdk({ apikey, host }); + describe('create', () => { + it('should call api `/bank-accounts` endpoint with method `post` and return an instance of `BankAccount` model with the given `data`', async () => { + nock(host, { reqheaders: { apikey } }) + .post('/bank-accounts') + .reply(200, { + data: { + asset: 'foo', + details: { foo: 'bar' }, + id: 'foobar', + name: 'waldo', + region: 'fred' + } + }); + + const result = await slyk.bankAccount.create({ + asset: 'foo', + details: { foo: 'bar' }, + name: 'waldo', + region: 'fred' + }); + + expect(result).toEqual({ + asset: 'foo', + details: { foo: 'bar' }, + id: 'foobar', + name: 'waldo', + region: 'fred' + }); + }); + }); + + describe('delete', () => { + it('should call api `/bank-accounts/:id` endpoint with method `delete` and return `true`', async () => { + const id = 'foobar'; + + nock(host, { reqheaders: { apikey } }) + .delete(`/bank-accounts/${id}`) + .reply(204); + + const result = await slyk.bankAccount.delete(id); + + expect(result).toEqual(true); + }); + }); + describe('get', () => { it('should throw `NotFoundError` if the given `BankAccount` does not exist', async () => { nock(host, { reqheaders: { apikey } }) @@ -91,4 +136,35 @@ describe('BankAccountManager', () => { ]); }); }); + + describe('patch', () => { + it('should call api `/bank-accounts/:id` endpoint with method `patch` and return an instance of `BankAccount` model with the given `data`', async () => { + const id = 'foobar'; + + nock(host, { reqheaders: { apikey } }) + .patch(`/bank-accounts/${id}`) + .reply(200, { + data: { + asset: 'foo', + details: { foo: 'bar' }, + id: 'foobar', + name: 'waldo', + region: 'fred' + } + }); + + const result = await slyk.bankAccount.patch(id, { + details: { foo: 'bar' }, + name: 'waldo' + }); + + expect(result).toEqual({ + asset: 'foo', + details: { foo: 'bar' }, + id: 'foobar', + name: 'waldo', + region: 'fred' + }); + }); + }); }); diff --git a/test/src/bank-account/models/bank-account-model.test.js b/test/src/bank-account/models/bank-account-model.test.js index 0644342..fb5769e 100644 --- a/test/src/bank-account/models/bank-account-model.test.js +++ b/test/src/bank-account/models/bank-account-model.test.js @@ -15,6 +15,31 @@ describe('BankAccountModel', () => { const host = 'http://foobar:3000'; const slyk = sdk({ apikey, host }); + describe('delete', () => { + it('should return `true` and delete the `bankAccount`', async () => { + nock(host, { reqheaders: { apikey } }) + .get('/bank-accounts/foobar') + .reply(200, { + data: { + asset: 'qux', + details: {}, + id: 'foobar', + name: 'fred' + } + }); + + const bankAccount = await slyk.bankAccount.get('foobar'); + + nock(host, { reqheaders: { apikey } }) + .delete('/bank-accounts/foobar') + .reply(204); + + const result = await bankAccount.delete(); + + expect(result).toEqual(true); + }); + }); + describe('getAsset', () => { it('should return the `bankAccount` related `asset`', async () => { nock(host, { reqheaders: { apikey } }) @@ -39,4 +64,44 @@ describe('BankAccountModel', () => { expect(asset).toEqual({ code: 'qux', metadata: {} }); }); }); + + describe('patch', () => { + it('should return `true` and patch the `bankAccount`', async () => { + nock(host, { reqheaders: { apikey } }) + .get('/bank-accounts/foobar') + .reply(200, { + data: { + asset: 'qux', + details: {}, + id: 'foobar', + name: 'fred' + } + }); + + const bankAccount = await slyk.bankAccount.get('foobar'); + + nock(host, { reqheaders: { apikey } }) + .patch('/bank-accounts/foobar') + .reply(200, { + data: { + asset: 'qux', + details: { waldo: 'fred' }, + id: 'foobar', + name: 'quux' + } + }); + + const result = await bankAccount.patch('foobar', { + details: { waldo: 'fred' }, + name: 'quux' + }); + + expect(result).toEqual({ + asset: 'qux', + details: { waldo: 'fred' }, + id: 'foobar', + name: 'quux' + }); + }); + }); }); From c18776b9f826f56701afa21fd233e4075eac8e38 Mon Sep 17 00:00:00 2001 From: Daniel Rodrigues Date: Wed, 18 Aug 2021 11:41:57 +0100 Subject: [PATCH 2/2] Improve methods documentation --- docs/methods.md | 427 +++++++++++++++++++++++++++++------------------- 1 file changed, 260 insertions(+), 167 deletions(-) diff --git a/docs/methods.md b/docs/methods.md index 105d573..622b1db 100644 --- a/docs/methods.md +++ b/docs/methods.md @@ -41,441 +41,450 @@ - [Request](#request-10) - [Response](#response-10) - [bankAccount](#bankaccount) - - [`bankAccount.get`](#bankaccountget) + - [`bankAccount.create`](#bankaccountcreate) - [Request](#request-11) - [Response](#response-11) - - [`bankAccount.list`](#bankaccountlist) + - [`bankAccount.delete`](#bankaccountdelete) - [Request](#request-12) - [Response](#response-12) - - [bankAccountRegion](#bankaccountregion) - - [`bankAccountRegion.list`](#bankaccountregionlist) + - [`bankAccount.get`](#bankaccountget) - [Request](#request-13) - [Response](#response-13) - - [connection](#connection) - - [`connection.create`](#connectioncreate) + - [`bankAccount.list`](#bankaccountlist) - [Request](#request-14) - [Response](#response-14) - - [`connection.get`](#connectionget) + - [`bankAccount.patch`](#bankaccountpatch) - [Request](#request-15) - [Response](#response-15) - - [`connection.list`](#connectionlist) + - [bankAccountRegion](#bankaccountregion) + - [`bankAccountRegion.list`](#bankaccountregionlist) - [Request](#request-16) - [Response](#response-16) - - [`connection.patch`](#connectionpatch) + - [connection](#connection) + - [`connection.create`](#connectioncreate) - [Request](#request-17) - [Response](#response-17) - - [identity](#identity) - - [`identity.approve`](#identityapprove) + - [`connection.get`](#connectionget) - [Request](#request-18) - [Response](#response-18) - - [`identity.cancel`](#identitycancel) + - [`connection.list`](#connectionlist) - [Request](#request-19) - [Response](#response-19) - - [`identity.create`](#identitycreate) + - [`connection.patch`](#connectionpatch) - [Request](#request-20) - [Response](#response-20) - - [`identity.delete`](#identitydelete) + - [identity](#identity) + - [`identity.approve`](#identityapprove) - [Request](#request-21) - [Response](#response-21) - - [`identity.get`](#identityget) + - [`identity.cancel`](#identitycancel) - [Request](#request-22) - [Response](#response-22) - - [`identity.list`](#identitylist) + - [`identity.create`](#identitycreate) - [Request](#request-23) - [Response](#response-23) - - [`identity.reject`](#identityreject) + - [`identity.delete`](#identitydelete) - [Request](#request-24) - [Response](#response-24) - - [`identity.submit`](#identitysubmit) + - [`identity.get`](#identityget) - [Request](#request-25) - [Response](#response-25) - - [IdentityDocument](#identitydocument) - - [`identityDocument.create`](#identitydocumentcreate) + - [`identity.list`](#identitylist) - [Request](#request-26) - [Response](#response-26) - - [`identityDocument.delete`](#identitydocumentdelete) + - [`identity.reject`](#identityreject) - [Request](#request-27) - [Response](#response-27) - - [`identityDocument.get`](#identitydocumentget) + - [`identity.submit`](#identitysubmit) - [Request](#request-28) - [Response](#response-28) - - [`identityDocument.list`](#identitydocumentlist) + - [IdentityDocument](#identitydocument) + - [`identityDocument.create`](#identitydocumentcreate) - [Request](#request-29) - [Response](#response-29) - - [invite](#invite) - - [`invite.cancel`](#invitecancel) + - [`identityDocument.delete`](#identitydocumentdelete) - [Request](#request-30) - [Response](#response-30) - - [`invite.create`](#invitecreate) + - [`identityDocument.get`](#identitydocumentget) - [Request](#request-31) - [Response](#response-31) - - [`invite.get`](#inviteget) + - [`identityDocument.list`](#identitydocumentlist) - [Request](#request-32) - [Response](#response-32) - - [`invite.list`](#invitelist) + - [invite](#invite) + - [`invite.cancel`](#invitecancel) - [Request](#request-33) - [Response](#response-33) - - [`invite.send`](#invitesend) + - [`invite.create`](#invitecreate) - [Request](#request-34) - [Response](#response-34) - - [`invite.validate`](#invitevalidate) + - [`invite.get`](#inviteget) - [Request](#request-35) - [Response](#response-35) - - [movement](#movement) - - [`movement.get`](#movementget) + - [`invite.list`](#invitelist) - [Request](#request-36) - [Response](#response-36) - - [`movement.list`](#movementlist) + - [`invite.send`](#invitesend) - [Request](#request-37) - [Response](#response-37) - - [order](#order) - - [`order.cancel`](#ordercancel) + - [`invite.validate`](#invitevalidate) - [Request](#request-38) - [Response](#response-38) - - [`order.create`](#ordercreate) + - [movement](#movement) + - [`movement.get`](#movementget) - [Request](#request-39) - [Response](#response-39) - - [`order.fulfill`](#orderfulfill) + - [`movement.list`](#movementlist) - [Request](#request-40) - [Response](#response-40) - - [`order.get`](#orderget) + - [order](#order) + - [`order.cancel`](#ordercancel) - [Request](#request-41) - [Response](#response-41) - - [`order.list`](#orderlist) + - [`order.create`](#ordercreate) - [Request](#request-42) - [Response](#response-42) - - [`order.patch`](#orderpatch) + - [`order.fulfill`](#orderfulfill) - [Request](#request-43) - [Response](#response-43) - - [`order.pay`](#orderpay) + - [`order.get`](#orderget) - [Request](#request-44) - [Response](#response-44) - - [`order.refund`](#orderrefund) + - [`order.list`](#orderlist) - [Request](#request-45) - [Response](#response-45) - - [`order.unfulfill`](#orderunfulfill) + - [`order.patch`](#orderpatch) - [Request](#request-46) - [Response](#response-46) - - [orderLine](#orderline) - - [`orderLine.fulfill`](#orderlinefulfill) + - [`order.pay`](#orderpay) - [Request](#request-47) - [Response](#response-47) - - [`orderLine.get`](#orderlineget) + - [`order.refund`](#orderrefund) - [Request](#request-48) - [Response](#response-48) - - [`orderLine.list`](#orderlinelist) + - [`order.unfulfill`](#orderunfulfill) - [Request](#request-49) - [Response](#response-49) - - [`orderLine.unfulfill`](#orderlineunfulfill) + - [orderLine](#orderline) + - [`orderLine.fulfill`](#orderlinefulfill) - [Request](#request-50) - [Response](#response-50) - - [paymentMethod](#paymentmethod) - - [`paymentMethod.get`](#paymentmethodget) + - [`orderLine.get`](#orderlineget) - [Request](#request-51) - [Response](#response-51) - - [`paymentMethod.list`](#paymentmethodlist) + - [`orderLine.list`](#orderlinelist) - [Request](#request-52) - [Response](#response-52) - - [product](#product) - - [`product.create`](#productcreate) + - [`orderLine.unfulfill`](#orderlineunfulfill) - [Request](#request-53) - [Response](#response-53) - - [`product.createQuestion`](#productcreatequestion) + - [paymentMethod](#paymentmethod) + - [`paymentMethod.get`](#paymentmethodget) - [Request](#request-54) - [Response](#response-54) - - [`product.delete`](#productdelete) + - [`paymentMethod.list`](#paymentmethodlist) - [Request](#request-55) - [Response](#response-55) - - [`product.deleteQuestion`](#productdeletequestion) + - [product](#product) + - [`product.create`](#productcreate) - [Request](#request-56) - [Response](#response-56) - - [`product.get`](#productget) + - [`product.createQuestion`](#productcreatequestion) - [Request](#request-57) - [Response](#response-57) - - [`product.list`](#productlist) + - [`product.delete`](#productdelete) - [Request](#request-58) - [Response](#response-58) - - [`product.patch`](#productpatch) + - [`product.deleteQuestion`](#productdeletequestion) - [Request](#request-59) - [Response](#response-59) - - [`product.reorder`](#productreorder) + - [`product.get`](#productget) - [Request](#request-60) - [Response](#response-60) - - [`product.reorderQuestion`](#productreorderquestion) + - [`product.list`](#productlist) - [Request](#request-61) - [Response](#response-61) - - [productCategory](#productcategory) - - [`productCategory.create`](#productcategorycreate) + - [`product.patch`](#productpatch) - [Request](#request-62) - [Response](#response-62) - - [`productCategory.delete`](#productcategorydelete) + - [`product.reorder`](#productreorder) - [Request](#request-63) - [Response](#response-63) - - [`productCategory.get`](#productcategoryget) + - [`product.reorderQuestion`](#productreorderquestion) - [Request](#request-64) - [Response](#response-64) - - [`productCategory.list`](#productcategorylist) + - [productCategory](#productcategory) + - [`productCategory.create`](#productcategorycreate) - [Request](#request-65) - [Response](#response-65) - - [`productCategory.patch`](#productcategorypatch) + - [`productCategory.delete`](#productcategorydelete) - [Request](#request-66) - [Response](#response-66) - - [`productCategory.reorder`](#productcategoryreorder) + - [`productCategory.get`](#productcategoryget) - [Request](#request-67) - [Response](#response-67) - - [productImage](#productimage) - - [`productImage.create`](#productimagecreate) + - [`productCategory.list`](#productcategorylist) - [Request](#request-68) - [Response](#response-68) - - [`productImage.delete`](#productimagedelete) + - [`productCategory.patch`](#productcategorypatch) - [Request](#request-69) - [Response](#response-69) - - [`productImage.get`](#productimageget) + - [`productCategory.reorder`](#productcategoryreorder) - [Request](#request-70) - [Response](#response-70) - - [`productImage.list`](#productimagelist) + - [productImage](#productimage) + - [`productImage.create`](#productimagecreate) - [Request](#request-71) - [Response](#response-71) - - [`productImage.reorder`](#productimagereorder) + - [`productImage.delete`](#productimagedelete) - [Request](#request-72) - [Response](#response-72) - - [question](#question) - - [`question.create`](#questioncreate) + - [`productImage.get`](#productimageget) - [Request](#request-73) - [Response](#response-73) - - [`question.delete`](#questiondelete) + - [`productImage.list`](#productimagelist) - [Request](#request-74) - [Response](#response-74) - - [`question.get`](#questionget) + - [`productImage.reorder`](#productimagereorder) - [Request](#request-75) - [Response](#response-75) - - [`question.list`](#questionlist) + - [question](#question) + - [`question.create`](#questioncreate) - [Request](#request-76) - [Response](#response-76) - - [`question.patch`](#questionpatch) + - [`question.delete`](#questiondelete) - [Request](#request-77) - [Response](#response-77) - - [questionType](#questiontype) - - [`question.list`](#questionlist-1) + - [`question.get`](#questionget) - [Request](#request-78) - [Response](#response-78) - - [rate](#rate) - - [`rate.create`](#ratecreate) + - [`question.list`](#questionlist) - [Request](#request-79) - [Response](#response-79) - - [`rate.delete`](#ratedelete) + - [`question.patch`](#questionpatch) - [Request](#request-80) - [Response](#response-80) - - [`rate.get`](#rateget) + - [questionType](#questiontype) + - [`question.list`](#questionlist-1) - [Request](#request-81) - [Response](#response-81) - - [`rate.list`](#ratelist) + - [rate](#rate) + - [`rate.create`](#ratecreate) - [Request](#request-82) - [Response](#response-82) - - [`rate.patch`](#ratepatch) + - [`rate.delete`](#ratedelete) - [Request](#request-83) - [Response](#response-83) - - [setting](#setting) - - [`setting.get`](#settingget) + - [`rate.get`](#rateget) - [Request](#request-84) - [Response](#response-84) - - [`setting.list`](#settinglist) + - [`rate.list`](#ratelist) - [Request](#request-85) - [Response](#response-85) - - [task](#task) - - [`task.complete`](#taskcomplete) + - [`rate.patch`](#ratepatch) - [Request](#request-86) - [Response](#response-86) - - [`task.completeSurvey`](#taskcompletesurvey) + - [setting](#setting) + - [`setting.get`](#settingget) - [Request](#request-87) - [Response](#response-87) - - [`task.create`](#taskcreate) + - [`setting.list`](#settinglist) - [Request](#request-88) - [Response](#response-88) - - [`task.get`](#taskget) + - [task](#task) + - [`task.complete`](#taskcomplete) - [Request](#request-89) - [Response](#response-89) - - [`task.getStatistics`](#taskgetstatistics) + - [`task.completeSurvey`](#taskcompletesurvey) - [Request](#request-90) - [Response](#response-90) - - [`task.list`](#tasklist) + - [`task.create`](#taskcreate) - [Request](#request-91) - [Response](#response-91) - - [`task.listAnswers`](#tasklistanswers) + - [`task.get`](#taskget) - [Request](#request-92) - [Response](#response-92) - - [`task.patch`](#taskpatch) + - [`task.getStatistics`](#taskgetstatistics) - [Request](#request-93) - [Response](#response-93) - - [`task.reorder`](#taskreorder) + - [`task.list`](#tasklist) - [Request](#request-94) - [Response](#response-94) - - [taskStep](#taskstep) - - [`taskStep.get`](#taskstepget) + - [`task.listAnswers`](#tasklistanswers) - [Request](#request-95) - [Response](#response-95) - - [`taskStep.list`](#tasksteplist) + - [`task.patch`](#taskpatch) - [Request](#request-96) - [Response](#response-96) - - [`taskStep.patch`](#tasksteppatch) + - [`task.reorder`](#taskreorder) - [Request](#request-97) - [Response](#response-97) - - [taskStepQuestion](#taskstepquestion) - - [`taskStepQuestion.list`](#taskstepquestionlist) + - [taskStep](#taskstep) + - [`taskStep.get`](#taskstepget) - [Request](#request-98) - [Response](#response-98) - - [taxRate](#taxrate) - - [`taxRate.create`](#taxratecreate) + - [`taskStep.list`](#tasksteplist) - [Request](#request-99) - [Response](#response-99) - - [`taxRate.delete`](#taxratedelete) + - [`taskStep.patch`](#tasksteppatch) - [Request](#request-100) - [Response](#response-100) - - [`taxRate.get`](#taxrateget) + - [taskStepQuestion](#taskstepquestion) + - [`taskStepQuestion.list`](#taskstepquestionlist) - [Request](#request-101) - [Response](#response-101) - - [`taxRate.list`](#taxratelist) + - [taxRate](#taxrate) + - [`taxRate.create`](#taxratecreate) - [Request](#request-102) - [Response](#response-102) - - [`taxRate.patch`](#taxratepatch) + - [`taxRate.delete`](#taxratedelete) - [Request](#request-103) - [Response](#response-103) - - [transaction](#transaction) - - [`transaction.approve`](#transactionapprove) + - [`taxRate.get`](#taxrateget) - [Request](#request-104) - [Response](#response-104) - - [`transaction.confirm`](#transactionconfirm) + - [`taxRate.list`](#taxratelist) - [Request](#request-105) - [Response](#response-105) - - [`transaction.deposit`](#transactiondeposit) + - [`taxRate.patch`](#taxratepatch) - [Request](#request-106) - [Response](#response-106) - - [`transaction.fail`](#transactionfail) + - [transaction](#transaction) + - [`transaction.approve`](#transactionapprove) - [Request](#request-107) - [Response](#response-107) - - [`transaction.get`](#transactionget) + - [`transaction.confirm`](#transactionconfirm) - [Request](#request-108) - [Response](#response-108) - - [`transaction.list`](#transactionlist) + - [`transaction.deposit`](#transactiondeposit) - [Request](#request-109) - [Response](#response-109) - - [`transaction.pay`](#transactionpay) + - [`transaction.fail`](#transactionfail) - [Request](#request-110) - [Response](#response-110) - - [`transaction.reject`](#transactionreject) + - [`transaction.get`](#transactionget) - [Request](#request-111) - [Response](#response-111) - - [`transaction.request`](#transactionrequest) + - [`transaction.list`](#transactionlist) - [Request](#request-112) - [Response](#response-112) - - [`transaction.send`](#transactionsend) + - [`transaction.pay`](#transactionpay) - [Request](#request-113) - [Response](#response-113) - - [`transaction.transfer`](#transactiontransfer) + - [`transaction.reject`](#transactionreject) - [Request](#request-114) - [Response](#response-114) - - [`transaction.withdrawal`](#transactionwithdrawal) + - [`transaction.request`](#transactionrequest) - [Request](#request-115) - [Response](#response-115) - - [user](#user) - - [`user.approve`](#userapprove) + - [`transaction.send`](#transactionsend) - [Request](#request-116) - [Response](#response-116) - - [`user.block`](#userblock) + - [`transaction.transfer`](#transactiontransfer) - [Request](#request-117) - [Response](#response-117) - - [`user.changeEmail`](#userchangeemail) + - [`transaction.withdrawal`](#transactionwithdrawal) - [Request](#request-118) - [Response](#response-118) - - [`user.changePassword`](#userchangepassword) + - [user](#user) + - [`user.approve`](#userapprove) - [Request](#request-119) - [Response](#response-119) - - [`user.changePhone`](#userchangephone) + - [`user.block`](#userblock) - [Request](#request-120) - [Response](#response-120) - - [`user.confirmEmail`](#userconfirmemail) + - [`user.changeEmail`](#userchangeemail) - [Request](#request-121) - - [Responses](#responses) - - [`user.confirmPhone`](#userconfirmphone) + - [Response](#response-121) + - [`user.changePassword`](#userchangepassword) - [Request](#request-122) - - [Responses](#responses-1) - - [`user.create`](#usercreate) + - [Response](#response-122) + - [`user.changePhone`](#userchangephone) - [Request](#request-123) - - [Response](#response-121) - - [`user.forgotPassword`](#userforgotpassword) + - [Response](#response-123) + - [`user.confirmEmail`](#userconfirmemail) - [Request](#request-124) - - [Response](#response-122) - - [`user.get`](#userget) + - [Responses](#responses) + - [`user.confirmPhone`](#userconfirmphone) - [Request](#request-125) - - [Response](#response-123) - - [`user.getReferralProgram`](#usergetreferralprogram) + - [Responses](#responses-1) + - [`user.create`](#usercreate) - [Request](#request-126) - [Response](#response-124) - - [`user.delete`](#userdelete) + - [`user.forgotPassword`](#userforgotpassword) - [Request](#request-127) - [Response](#response-125) - - [`user.list`](#userlist) + - [`user.get`](#userget) - [Request](#request-128) - [Response](#response-126) - - [`user.patch`](#userpatch) + - [`user.getReferralProgram`](#usergetreferralprogram) - [Request](#request-129) - [Response](#response-127) - - [`user.resendConfirmation`](#userresendconfirmation) + - [`user.delete`](#userdelete) - [Request](#request-130) - [Response](#response-128) - - [`user.resetPassword`](#userresetpassword) + - [`user.list`](#userlist) - [Request](#request-131) - [Response](#response-129) - - [`user.unblock`](#userunblock) + - [`user.patch`](#userpatch) - [Request](#request-132) - [Response](#response-130) - - [wallet](#wallet) - - [`wallet.activity`](#walletactivity) + - [`user.resendConfirmation`](#userresendconfirmation) - [Request](#request-133) - [Response](#response-131) - - [`wallet.balance`](#walletbalance) + - [`user.resetPassword`](#userresetpassword) - [Request](#request-134) - [Response](#response-132) - - [`wallet.create`](#walletcreate) + - [`user.unblock`](#userunblock) - [Request](#request-135) - [Response](#response-133) - - [`wallet.get`](#walletget) + - [wallet](#wallet) + - [`wallet.activity`](#walletactivity) - [Request](#request-136) - [Response](#response-134) - - [`wallet.globalActivity`](#walletglobalactivity) + - [`wallet.balance`](#walletbalance) - [Request](#request-137) - [Response](#response-135) - - [`wallet.globalBalance`](#walletglobalbalance) + - [`wallet.create`](#walletcreate) - [Request](#request-138) - [Response](#response-136) - - [`wallet.list`](#walletlist) + - [`wallet.get`](#walletget) - [Request](#request-139) - [Response](#response-137) - - [`wallet.movements`](#walletmovements) + - [`wallet.globalActivity`](#walletglobalactivity) - [Request](#request-140) - [Response](#response-138) - - [`wallet.patch`](#walletpatch) + - [`wallet.globalBalance`](#walletglobalbalance) - [Request](#request-141) - [Response](#response-139) - - [`wallet.transactions`](#wallettransactions) + - [`wallet.list`](#walletlist) - [Request](#request-142) - [Response](#response-140) - - [webhook](#webhook) - - [`webhook.create`](#webhookcreate) + - [`wallet.movements`](#walletmovements) - [Request](#request-143) - [Response](#response-141) - - [`webhook.delete`](#webhookdelete) + - [`wallet.patch`](#walletpatch) - [Request](#request-144) - [Response](#response-142) - - [`webhook.get`](#webhookget) + - [`wallet.transactions`](#wallettransactions) - [Request](#request-145) - [Response](#response-143) - - [`webhook.list`](#webhooklist) + - [webhook](#webhook) + - [`webhook.create`](#webhookcreate) - [Request](#request-146) - [Response](#response-144) - - [`webhook.patch`](#webhookpatch) + - [`webhook.delete`](#webhookdelete) - [Request](#request-147) - [Response](#response-145) + - [`webhook.get`](#webhookget) + - [Request](#request-148) + - [Response](#response-146) + - [`webhook.list`](#webhooklist) + - [Request](#request-149) + - [Response](#response-147) + - [`webhook.patch`](#webhookpatch) + - [Request](#request-150) + - [Response](#response-148) ## address @@ -840,7 +849,60 @@ await slyk.asset.patch('bar' { customData: { qux: 'quux' } }); ## bankAccount The result of each one of the following `bankAccount` methods return one or an array of `BankAccount` objects that include the following methods: -- `getAsset`: Returns the `bankAccount` `asset` details. +- `delete`: Deletes the `bankAccount`; +- `getAsset`: Returns the `bankAccount` `asset` details; +- `patch`: Patches the `bankAccount` details. + +### `bankAccount.create` + +Creates a `bankAccount` with the provided data. + +**Example:** + +#### Request + +```js +await slyk.bankAccount.create({ + asset: 'garply', + details: { + foo: 'biz' + }, + name: 'foobar', + region: 'corge' +}); +``` + +#### Response + +```json +{ + "asset": "garply", + "details": { + "foo": "biz" + }, + "id": "xyzzy", + "name": "foobar", + "region": "corge" +} +``` + +### `bankAccount.delete` + +Deletes the `bankAccount` of the given `id`. + +**Example:** + +#### Request + +```js +await slyk.bankAccount.delete('xyzzy'); +``` + +#### Response + +```json +true +``` ### `bankAccount.get` @@ -910,6 +972,37 @@ await slyk.bankAccount.list({ } ``` +### `bankAccount.patch` + +Patches the `bankAccount` of the given `id`. + +**Example:** + +#### Request + +```js +await slyk.bankAccount.patch('xyzzy', { + details: { + waldo: 'fred' + }, + name: 'thud' +}); +``` + +#### Response + +```json +{ + "asset": "garply", + "details": { + "waldo": "fred" + }, + "id": "xyzzy", + "name": "thud", + "region": "corge" +} +``` + ## bankAccountRegion The result of each one of the following `bankAccountRegion` methods return one or an array of `BankAccountRegion` objects that include the following methods: