@adyen/api-library
Version:
The Adyen API Library for NodeJS enables you to work with Adyen APIs.
144 lines • 9.01 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.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