@adyen/api-library
Version:
The Adyen API Library for NodeJS enables you to work with Adyen APIs.
140 lines • 7.47 kB
JavaScript
;
/*
* The version of the OpenAPI document: v2
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit this class manually.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccountHoldersApi = void 0;
const getJsonResponse_1 = __importDefault(require("../../helpers/getJsonResponse"));
const service_1 = __importDefault(require("../../service"));
const resource_1 = __importDefault(require("../resource"));
const objectSerializer_1 = require("../../typings/balancePlatform/objectSerializer");
/**
* API handler for AccountHoldersApi
*/
class AccountHoldersApi extends service_1.default {
constructor(client) {
super(client);
this.API_BASEPATH = "https://balanceplatform-api-test.adyen.com/bcl/v2";
this.baseUrl = this.createBaseUrl(this.API_BASEPATH);
}
/**
* @summary Create an account holder
* @param accountHolderInfo {@link AccountHolderInfo }
* @param requestOptions {@link IRequest.Options }
* @return {@link AccountHolder }
*/
async createAccountHolder(accountHolderInfo, requestOptions) {
const endpoint = `${this.baseUrl}/accountHolders`;
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(accountHolderInfo, "AccountHolderInfo");
const response = await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "AccountHolder");
}
/**
* @summary Get an account holder
* @param id {@link string } The unique identifier of the account holder.
* @param requestOptions {@link IRequest.Options }
* @return {@link AccountHolder }
*/
async getAccountHolder(id, requestOptions) {
const endpoint = `${this.baseUrl}/accountHolders/{id}`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "AccountHolder");
}
/**
* @summary Get all balance accounts of an account holder
* @param id {@link string } The unique identifier of the account holder.
* @param requestOptions {@link IRequest.Options }
* @param offset {@link number } The number of items that you want to skip.
* @param limit {@link number } The number of items returned per page, maximum 100 items. By default, the response returns 10 items per page.
* @return {@link PaginatedBalanceAccountsResponse }
*/
async getAllBalanceAccountsOfAccountHolder(id, offset, limit, requestOptions) {
const endpoint = `${this.baseUrl}/accountHolders/{id}/balanceAccounts`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const hasDefinedQueryParams = offset !== null && offset !== void 0 ? offset : limit;
if (hasDefinedQueryParams) {
if (!requestOptions)
requestOptions = {};
if (!requestOptions.params)
requestOptions.params = {};
if (offset)
requestOptions.params["offset"] = offset;
if (limit)
requestOptions.params["limit"] = limit;
}
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "PaginatedBalanceAccountsResponse");
}
/**
* @summary Get all transaction rules for an account holder
* @param id {@link string } The unique identifier of the account holder.
* @param requestOptions {@link IRequest.Options }
* @return {@link TransactionRulesResponse }
*/
async getAllTransactionRulesForAccountHolder(id, requestOptions) {
const endpoint = `${this.baseUrl}/accountHolders/{id}/transactionRules`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "TransactionRulesResponse");
}
/**
* @summary Get a tax form
* @param id {@link string } The unique identifier of the account holder.
* @param requestOptions {@link IRequest.Options }
* @param formType {@link 'US1099k' | 'US1099nec' } (Required) The type of tax form you want to retrieve. Accepted values are **US1099k** and **US1099nec**
* @param year {@link number } (Required) The tax year in YYYY format for the tax form you want to retrieve
* @param legalEntityId {@link string } The legal entity reference whose tax form you want to retrieve
* @return {@link GetTaxFormResponse }
*/
async getTaxForm(id, formType, year, legalEntityId, requestOptions) {
var _a;
const endpoint = `${this.baseUrl}/accountHolders/{id}/taxForms`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const hasDefinedQueryParams = (_a = formType !== null && formType !== void 0 ? formType : year) !== null && _a !== void 0 ? _a : legalEntityId;
if (hasDefinedQueryParams) {
if (!requestOptions)
requestOptions = {};
if (!requestOptions.params)
requestOptions.params = {};
if (formType)
requestOptions.params["formType"] = formType;
if (year)
requestOptions.params["year"] = year;
if (legalEntityId)
requestOptions.params["legalEntityId"] = legalEntityId;
}
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "GetTaxFormResponse");
}
/**
* @summary Update an account holder
* @param id {@link string } The unique identifier of the account holder.
* @param accountHolderUpdateRequest {@link AccountHolderUpdateRequest }
* @param requestOptions {@link IRequest.Options }
* @return {@link AccountHolder }
*/
async updateAccountHolder(id, accountHolderUpdateRequest, requestOptions) {
const endpoint = `${this.baseUrl}/accountHolders/{id}`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(accountHolderUpdateRequest, "AccountHolderUpdateRequest");
const response = await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "PATCH" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "AccountHolder");
}
}
exports.AccountHoldersApi = AccountHoldersApi;
//# sourceMappingURL=accountHoldersApi.js.map