UNPKG

fineract_sdk

Version:

Wrapper around fineract api.

556 lines (555 loc) 46.3 kB
"use strict"; /* tslint:disable */ /* eslint-disable */ /** * Apache Fineract * Apache Fineract is a secure, multi-tenanted microfinance platform The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform<br>The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation - The API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) - Find out more about Apache Fineract [here](/fineract-provider/api-docs/apiLive.htm#top) - You can [Try The API From Your Browser](/fineract-provider/api-docs/apiLive.htm#interact) - The Generic Options are available [here](/fineract-provider/api-docs/apiLive.htm#genopts) - Find out more about [Updating Dates and Numbers](/fineract-provider/api-docs/apiLive.htm#dates_and_numbers) - For the Authentication and the Basic of HTTP and HTTPS refer [here](/fineract-provider/api-docs/apiLive.htm#authentication_overview) - Check about ERROR codes [here](/fineract-provider/api-docs/apiLive.htm#errors) Please refer to the [old documentation](/fineract-provider/api-docs/apiLive.htm) for any documentation queries * * The version of the OpenAPI document: 1.5.0-66-gffae7d4-dirty * Contact: dev@fineract.apache.org * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoanProductsApi = exports.LoanProductsApiFactory = exports.LoanProductsApiFp = exports.LoanProductsApiAxiosParamCreator = void 0; var axios_1 = require("axios"); // Some imports not used depending on template conditions // @ts-ignore var common_1 = require("../common"); // @ts-ignore var base_1 = require("../base"); /** * LoanProductsApi - axios parameter creator * @export */ exports.LoanProductsApiAxiosParamCreator = function (configuration) { var _this = this; return { /** * Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor * @summary Create a Loan Product * @param {PostLoanProductsRequest} postLoanProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createLoanProduct: function (postLoanProductsRequest, options) { if (options === void 0) { options = {}; } return __awaiter(_this, void 0, void 0, function () { var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions; return __generator(this, function (_a) { switch (_a.label) { case 0: // verify required parameter 'postLoanProductsRequest' is not null or undefined common_1.assertParamExists('createLoanProduct', 'postLoanProductsRequest', postLoanProductsRequest); localVarPath = "/loanproducts"; localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); if (configuration) { baseOptions = configuration.baseOptions; } localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options); localVarHeaderParameter = {}; localVarQueryParameter = {}; // authentication basicAuth required // http basic authentication required common_1.setBasicAuthToObject(localVarRequestOptions, configuration); // authentication tenantid required return [4 /*yield*/, common_1.setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)]; case 1: // authentication tenantid required _a.sent(); localVarHeaderParameter['Content-Type'] = 'application/json'; common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); localVarRequestOptions.data = common_1.serializeDataIfNeeded(postLoanProductsRequest, localVarRequestOptions, configuration); return [2 /*return*/, { url: common_1.toPathString(localVarUrlObj), options: localVarRequestOptions, }]; } }); }); }, /** * Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType * @summary List Loan Products * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAllLoanProducts: function (options) { if (options === void 0) { options = {}; } return __awaiter(_this, void 0, void 0, function () { var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions; return __generator(this, function (_a) { switch (_a.label) { case 0: localVarPath = "/loanproducts"; localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); if (configuration) { baseOptions = configuration.baseOptions; } localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options); localVarHeaderParameter = {}; localVarQueryParameter = {}; // authentication basicAuth required // http basic authentication required common_1.setBasicAuthToObject(localVarRequestOptions, configuration); // authentication tenantid required return [4 /*yield*/, common_1.setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)]; case 1: // authentication tenantid required _a.sent(); common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); return [2 /*return*/, { url: common_1.toPathString(localVarUrlObj), options: localVarRequestOptions, }]; } }); }); }, /** * Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments * @summary Retrieve a Loan Product * @param {number} productId productId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveLoanProductDetails: function (productId, options) { if (options === void 0) { options = {}; } return __awaiter(_this, void 0, void 0, function () { var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions; return __generator(this, function (_a) { switch (_a.label) { case 0: // verify required parameter 'productId' is not null or undefined common_1.assertParamExists('retrieveLoanProductDetails', 'productId', productId); localVarPath = "/loanproducts/{productId}" .replace("{" + "productId" + "}", encodeURIComponent(String(productId))); localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); if (configuration) { baseOptions = configuration.baseOptions; } localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options); localVarHeaderParameter = {}; localVarQueryParameter = {}; // authentication basicAuth required // http basic authentication required common_1.setBasicAuthToObject(localVarRequestOptions, configuration); // authentication tenantid required return [4 /*yield*/, common_1.setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)]; case 1: // authentication tenantid required _a.sent(); common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); return [2 /*return*/, { url: common_1.toPathString(localVarUrlObj), options: localVarRequestOptions, }]; } }); }); }, /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template * @summary Retrieve Loan Product Details Template * @param {boolean} [isProductMixTemplate] isProductMixTemplate * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate10: function (isProductMixTemplate, options) { if (options === void 0) { options = {}; } return __awaiter(_this, void 0, void 0, function () { var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions; return __generator(this, function (_a) { switch (_a.label) { case 0: localVarPath = "/loanproducts/template"; localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); if (configuration) { baseOptions = configuration.baseOptions; } localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options); localVarHeaderParameter = {}; localVarQueryParameter = {}; // authentication basicAuth required // http basic authentication required common_1.setBasicAuthToObject(localVarRequestOptions, configuration); // authentication tenantid required return [4 /*yield*/, common_1.setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)]; case 1: // authentication tenantid required _a.sent(); if (isProductMixTemplate !== undefined) { localVarQueryParameter['isProductMixTemplate'] = isProductMixTemplate; } common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); return [2 /*return*/, { url: common_1.toPathString(localVarUrlObj), options: localVarRequestOptions, }]; } }); }); }, /** * Updates a Loan Product * @summary Update a Loan Product * @param {number} productId productId * @param {PutLoanProductsProductIdRequest} putLoanProductsProductIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateLoanProduct: function (productId, putLoanProductsProductIdRequest, options) { if (options === void 0) { options = {}; } return __awaiter(_this, void 0, void 0, function () { var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions; return __generator(this, function (_a) { switch (_a.label) { case 0: // verify required parameter 'productId' is not null or undefined common_1.assertParamExists('updateLoanProduct', 'productId', productId); // verify required parameter 'putLoanProductsProductIdRequest' is not null or undefined common_1.assertParamExists('updateLoanProduct', 'putLoanProductsProductIdRequest', putLoanProductsProductIdRequest); localVarPath = "/loanproducts/{productId}" .replace("{" + "productId" + "}", encodeURIComponent(String(productId))); localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); if (configuration) { baseOptions = configuration.baseOptions; } localVarRequestOptions = __assign(__assign({ method: 'PUT' }, baseOptions), options); localVarHeaderParameter = {}; localVarQueryParameter = {}; // authentication basicAuth required // http basic authentication required common_1.setBasicAuthToObject(localVarRequestOptions, configuration); // authentication tenantid required return [4 /*yield*/, common_1.setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)]; case 1: // authentication tenantid required _a.sent(); localVarHeaderParameter['Content-Type'] = 'application/json'; common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); localVarRequestOptions.data = common_1.serializeDataIfNeeded(putLoanProductsProductIdRequest, localVarRequestOptions, configuration); return [2 /*return*/, { url: common_1.toPathString(localVarUrlObj), options: localVarRequestOptions, }]; } }); }); }, }; }; /** * LoanProductsApi - functional programming interface * @export */ exports.LoanProductsApiFp = function (configuration) { var localVarAxiosParamCreator = exports.LoanProductsApiAxiosParamCreator(configuration); return { /** * Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor * @summary Create a Loan Product * @param {PostLoanProductsRequest} postLoanProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createLoanProduct: function (postLoanProductsRequest, options) { return __awaiter(this, void 0, void 0, function () { var localVarAxiosArgs; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, localVarAxiosParamCreator.createLoanProduct(postLoanProductsRequest, options)]; case 1: localVarAxiosArgs = _a.sent(); return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)]; } }); }); }, /** * Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType * @summary List Loan Products * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAllLoanProducts: function (options) { return __awaiter(this, void 0, void 0, function () { var localVarAxiosArgs; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, localVarAxiosParamCreator.retrieveAllLoanProducts(options)]; case 1: localVarAxiosArgs = _a.sent(); return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)]; } }); }); }, /** * Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments * @summary Retrieve a Loan Product * @param {number} productId productId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveLoanProductDetails: function (productId, options) { return __awaiter(this, void 0, void 0, function () { var localVarAxiosArgs; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, localVarAxiosParamCreator.retrieveLoanProductDetails(productId, options)]; case 1: localVarAxiosArgs = _a.sent(); return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)]; } }); }); }, /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template * @summary Retrieve Loan Product Details Template * @param {boolean} [isProductMixTemplate] isProductMixTemplate * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate10: function (isProductMixTemplate, options) { return __awaiter(this, void 0, void 0, function () { var localVarAxiosArgs; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, localVarAxiosParamCreator.retrieveTemplate10(isProductMixTemplate, options)]; case 1: localVarAxiosArgs = _a.sent(); return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)]; } }); }); }, /** * Updates a Loan Product * @summary Update a Loan Product * @param {number} productId productId * @param {PutLoanProductsProductIdRequest} putLoanProductsProductIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateLoanProduct: function (productId, putLoanProductsProductIdRequest, options) { return __awaiter(this, void 0, void 0, function () { var localVarAxiosArgs; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, localVarAxiosParamCreator.updateLoanProduct(productId, putLoanProductsProductIdRequest, options)]; case 1: localVarAxiosArgs = _a.sent(); return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)]; } }); }); }, }; }; /** * LoanProductsApi - factory interface * @export */ exports.LoanProductsApiFactory = function (configuration, basePath, axios) { var localVarFp = exports.LoanProductsApiFp(configuration); return { /** * Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor * @summary Create a Loan Product * @param {PostLoanProductsRequest} postLoanProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createLoanProduct: function (postLoanProductsRequest, options) { return localVarFp.createLoanProduct(postLoanProductsRequest, options).then(function (request) { return request(axios, basePath); }); }, /** * Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType * @summary List Loan Products * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveAllLoanProducts: function (options) { return localVarFp.retrieveAllLoanProducts(options).then(function (request) { return request(axios, basePath); }); }, /** * Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments * @summary Retrieve a Loan Product * @param {number} productId productId * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveLoanProductDetails: function (productId, options) { return localVarFp.retrieveLoanProductDetails(productId, options).then(function (request) { return request(axios, basePath); }); }, /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template * @summary Retrieve Loan Product Details Template * @param {boolean} [isProductMixTemplate] isProductMixTemplate * @param {*} [options] Override http request option. * @throws {RequiredError} */ retrieveTemplate10: function (isProductMixTemplate, options) { return localVarFp.retrieveTemplate10(isProductMixTemplate, options).then(function (request) { return request(axios, basePath); }); }, /** * Updates a Loan Product * @summary Update a Loan Product * @param {number} productId productId * @param {PutLoanProductsProductIdRequest} putLoanProductsProductIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateLoanProduct: function (productId, putLoanProductsProductIdRequest, options) { return localVarFp.updateLoanProduct(productId, putLoanProductsProductIdRequest, options).then(function (request) { return request(axios, basePath); }); }, }; }; /** * LoanProductsApi - object-oriented interface * @export * @class LoanProductsApi * @extends {BaseAPI} */ var LoanProductsApi = /** @class */ (function (_super) { __extends(LoanProductsApi, _super); function LoanProductsApi() { return _super !== null && _super.apply(this, arguments) || this; } /** * Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor * @summary Create a Loan Product * @param {PostLoanProductsRequest} postLoanProductsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LoanProductsApi */ LoanProductsApi.prototype.createLoanProduct = function (postLoanProductsRequest, options) { var _this = this; return exports.LoanProductsApiFp(this.configuration).createLoanProduct(postLoanProductsRequest, options).then(function (request) { return request(_this.axios, _this.basePath); }); }; /** * Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType * @summary List Loan Products * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LoanProductsApi */ LoanProductsApi.prototype.retrieveAllLoanProducts = function (options) { var _this = this; return exports.LoanProductsApiFp(this.configuration).retrieveAllLoanProducts(options).then(function (request) { return request(_this.axios, _this.basePath); }); }; /** * Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments * @summary Retrieve a Loan Product * @param {number} productId productId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LoanProductsApi */ LoanProductsApi.prototype.retrieveLoanProductDetails = function (productId, options) { var _this = this; return exports.LoanProductsApiFp(this.configuration).retrieveLoanProductDetails(productId, options).then(function (request) { return request(_this.axios, _this.basePath); }); }; /** * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template * @summary Retrieve Loan Product Details Template * @param {boolean} [isProductMixTemplate] isProductMixTemplate * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LoanProductsApi */ LoanProductsApi.prototype.retrieveTemplate10 = function (isProductMixTemplate, options) { var _this = this; return exports.LoanProductsApiFp(this.configuration).retrieveTemplate10(isProductMixTemplate, options).then(function (request) { return request(_this.axios, _this.basePath); }); }; /** * Updates a Loan Product * @summary Update a Loan Product * @param {number} productId productId * @param {PutLoanProductsProductIdRequest} putLoanProductsProductIdRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof LoanProductsApi */ LoanProductsApi.prototype.updateLoanProduct = function (productId, putLoanProductsProductIdRequest, options) { var _this = this; return exports.LoanProductsApiFp(this.configuration).updateLoanProduct(productId, putLoanProductsProductIdRequest, options).then(function (request) { return request(_this.axios, _this.basePath); }); }; return LoanProductsApi; }(base_1.BaseAPI)); exports.LoanProductsApi = LoanProductsApi;