UNPKG

@adyen/api-library

Version:

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

144 lines 9.01 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.TransferLimitsBalanceAccountLevelApi = 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 TransferLimitsBalanceAccountLevelApi */ class TransferLimitsBalanceAccountLevelApi 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 Approve pending transfer limits * @param id {@link string } The unique identifier of the balance account. * @param approveTransferLimitRequest {@link ApproveTransferLimitRequest } * @param requestOptions {@link IRequest.Options } * @return {@link void } */ async approvePendingTransferLimits(id, approveTransferLimitRequest, requestOptions) { const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits/approve` .replace("{" + "id" + "}", encodeURIComponent(String(id))); const resource = new resource_1.default(this, endpoint); const request = objectSerializer_1.ObjectSerializer.serialize(approveTransferLimitRequest, "ApproveTransferLimitRequest"); await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" }); } /** * @summary Create a transfer limit * @param id {@link string } The unique identifier of the balance account. * @param createTransferLimitRequest {@link CreateTransferLimitRequest } * @param requestOptions {@link IRequest.Options } * @return {@link TransferLimit } */ async createTransferLimit(id, createTransferLimitRequest, requestOptions) { const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits` .replace("{" + "id" + "}", encodeURIComponent(String(id))); const resource = new resource_1.default(this, endpoint); const request = objectSerializer_1.ObjectSerializer.serialize(createTransferLimitRequest, "CreateTransferLimitRequest"); const response = await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" }); return objectSerializer_1.ObjectSerializer.deserialize(response, "TransferLimit"); } /** * @summary Delete a scheduled or pending transfer limit * @param id {@link string } The unique identifier of the balance account. * @param transferLimitId {@link string } The unique identifier of the transfer limit. * @param requestOptions {@link IRequest.Options } * @return {@link void } */ async deletePendingTransferLimit(id, transferLimitId, requestOptions) { const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits/{transferLimitId}` .replace("{" + "id" + "}", encodeURIComponent(String(id))) .replace("{" + "transferLimitId" + "}", encodeURIComponent(String(transferLimitId))); const resource = new resource_1.default(this, endpoint); await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "DELETE" }); } /** * @summary Get all current transfer limits * @param id {@link string } The unique identifier of the balance account. * @param requestOptions {@link IRequest.Options } * @param scope {@link Scope } The scope to which the transfer limit applies. Possible values: * **perTransaction**: you set a maximum amount for each transfer made from the balance account or balance platform. * **perDay**: you set a maximum total amount for all transfers made from the balance account or balance platform in a day. * @param transferType {@link TransferType } The type of transfer to which the limit applies. Possible values: * **instant**: the limit applies to transfers with an **instant** priority. * **all**: the limit applies to all transfers, regardless of priority. * @return {@link TransferLimitListResponse } */ async getCurrentTransferLimits(id, scope, transferType, requestOptions) { const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits/current` .replace("{" + "id" + "}", encodeURIComponent(String(id))); const resource = new resource_1.default(this, endpoint); const hasDefinedQueryParams = scope !== null && scope !== void 0 ? scope : transferType; if (hasDefinedQueryParams) { if (!requestOptions) requestOptions = {}; if (!requestOptions.params) requestOptions.params = {}; if (scope) requestOptions.params["scope"] = scope; if (transferType) requestOptions.params["transferType"] = transferType; } const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" }); return objectSerializer_1.ObjectSerializer.deserialize(response, "TransferLimitListResponse"); } /** * @summary Get the details of a transfer limit * @param id {@link string } The unique identifier of the balance account. * @param transferLimitId {@link string } The unique identifier of the transfer limit. * @param requestOptions {@link IRequest.Options } * @return {@link TransferLimit } */ async getSpecificTransferLimit(id, transferLimitId, requestOptions) { const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits/{transferLimitId}` .replace("{" + "id" + "}", encodeURIComponent(String(id))) .replace("{" + "transferLimitId" + "}", encodeURIComponent(String(transferLimitId))); 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, "TransferLimit"); } /** * @summary Filter and view the transfer limits * @param id {@link string } The unique identifier of the balance account. * @param requestOptions {@link IRequest.Options } * @param scope {@link Scope } The scope to which the transfer limit applies. Possible values: * **perTransaction**: you set a maximum amount for each transfer made from the balance account or balance platform. * **perDay**: you set a maximum total amount for all transfers made from the balance account or balance platform in a day. * @param transferType {@link TransferType } The type of transfer to which the limit applies. Possible values: * **instant**: the limit applies to transfers with an **instant** priority. * **all**: the limit applies to all transfers, regardless of priority. * @param status {@link LimitStatus } The status of the transfer limit. Possible values: * **active**: the limit is currently active. * **inactive**: the limit is currently inactive. * **pendingSCA**: the limit is pending until your user performs SCA. * **scheduled**: the limit is scheduled to become active at a future date. * @return {@link TransferLimitListResponse } */ async getTransferLimits(id, scope, transferType, status, requestOptions) { var _a; const endpoint = `${this.baseUrl}/balanceAccounts/{id}/transferLimits` .replace("{" + "id" + "}", encodeURIComponent(String(id))); const resource = new resource_1.default(this, endpoint); const hasDefinedQueryParams = (_a = scope !== null && scope !== void 0 ? scope : transferType) !== null && _a !== void 0 ? _a : status; if (hasDefinedQueryParams) { if (!requestOptions) requestOptions = {}; if (!requestOptions.params) requestOptions.params = {}; if (scope) requestOptions.params["scope"] = scope; if (transferType) requestOptions.params["transferType"] = transferType; if (status) requestOptions.params["status"] = status; } const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" }); return objectSerializer_1.ObjectSerializer.deserialize(response, "TransferLimitListResponse"); } } exports.TransferLimitsBalanceAccountLevelApi = TransferLimitsBalanceAccountLevelApi; //# sourceMappingURL=transferLimitsBalanceAccountLevelApi.js.map