UNPKG

@adyen/api-library

Version:

The Adyen API Library for NodeJS enables you to work with Adyen APIs.

140 lines 7.47 kB
"use strict"; /* * 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