fineract_sdk
Version:
Wrapper around fineract api.
818 lines (701 loc) • 74.4 kB
text/typescript
/* 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.
*/
import globalAxios, { AxiosPromise, AxiosInstance } from 'axios';
import { Configuration } from '../configuration';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
// @ts-ignore
import { DeleteRecurringDepositAccountsResponse } from '../models';
// @ts-ignore
import { FormDataContentDisposition } from '../models';
// @ts-ignore
import { GetRecurringDepositAccountsAccountIdResponse } from '../models';
// @ts-ignore
import { GetRecurringDepositAccountsResponse } from '../models';
// @ts-ignore
import { GetRecurringDepositAccountsTemplateResponse } from '../models';
// @ts-ignore
import { PostRecurringDepositAccountsAccountIdResponse } from '../models';
// @ts-ignore
import { PostRecurringDepositAccountsRequest } from '../models';
// @ts-ignore
import { PostRecurringDepositAccountsResponse } from '../models';
// @ts-ignore
import { PutRecurringDepositAccountsAccountIdRequest } from '../models';
// @ts-ignore
import { PutRecurringDepositAccountsAccountIdResponse } from '../models';
/**
* RecurringDepositAccountApi - axios parameter creator
* @export
*/
export const RecurringDepositAccountApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
*
* @param {number} accountId accountId
* @param {string} [command] command
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
accountClosureTemplate1: async (accountId: number, command?: string, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'accountId' is not null or undefined
assertParamExists('accountClosureTemplate1', 'accountId', accountId)
const localVarPath = `/recurringdepositaccounts/{accountId}/template`
.replace(`{${"accountId"}}`, encodeURIComponent(String(accountId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (command !== undefined) {
localVarQueryParameter['command'] = command;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* At present we support hard delete of recurring deposit application so long as its in \'Submitted and pending approval\' state. One the application is moves past this state, it is not possible to do a \'hard\' delete of the application or the account. An API endpoint will be added to close/de-activate the recurring deposit account.
* @summary Delete a recurring deposit application
* @param {number} accountId accountId
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
delete16: async (accountId: number, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'accountId' is not null or undefined
assertParamExists('delete16', 'accountId', accountId)
const localVarPath = `/recurringdepositaccounts/{accountId}`
.replace(`{${"accountId"}}`, encodeURIComponent(String(accountId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {number} [officeId]
* @param {number} [staffId]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getRecurringDepositTemplate: async (officeId?: number, staffId?: number, dateFormat?: string, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts/downloadtemplate`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (officeId !== undefined) {
localVarQueryParameter['officeId'] = officeId;
}
if (staffId !== undefined) {
localVarQueryParameter['staffId'] = staffId;
}
if (dateFormat !== undefined) {
localVarQueryParameter['dateFormat'] = dateFormat;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {number} [officeId]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getRecurringDepositTransactionTemplate: async (officeId?: number, dateFormat?: string, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts/transactions/downloadtemplate`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (officeId !== undefined) {
localVarQueryParameter['officeId'] = officeId;
}
if (dateFormat !== undefined) {
localVarQueryParameter['dateFormat'] = dateFormat;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Approve recurring deposit application: Approves recurring deposit application so long as its in \'Submitted and pending approval\' state. Undo approval recurring deposit application: Will move \'approved\' recurring deposit application back to \'Submitted and pending approval\' state. Reject recurring deposit application Rejects recurring deposit application so long as its in \'Submitted and pending approval\' state. Withdraw recurring deposit application: Used when an applicant withdraws from the recurring deposit application. It must be in \'Submitted and pending approval\' state. Activate a recurring deposit account: Results in an approved recurring deposit application being converted into an \'active\' recurring deposit account. Update the recommended deposit amount for a recurring deposit account: Updates the recommended deposit amount for a RD account as on the effective date. Close a recurring deposit account Results in a Matured recurring deposit account being converted into a \'closed\' recurring deposit account. On account close allowed actions are.Premature Close a recurring deposit account: Results in an Active recurring deposit account being converted into a \'Premature Closed\' recurring deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.) On account premature closure allowed actions are. Calculate Premature amount on Recurring deposit account: Calculate premature amount on recurring deposit till premature close date. Premature amount is calculated based on interest chart and penal interest applicable if any. Calculate Interest on recurring Deposit Account: Calculates interest earned on a recurring deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process. Post Interest on recurring Deposit Account: Calculates and Posts interest earned on a recurring deposit account based on todays date and whether an interest posting or crediting event is due. Showing request/response for \'Post Interest on recurring Deposit Account\'
* @summary Approve recurring deposit application | Undo approval recurring deposit application | Reject recurring deposit application | Withdraw recurring deposit application | Activate a recurring deposit account | Update the recommended deposit amount for a recurring deposit account | Close a recurring deposit account | Premature Close a recurring deposit account | Calculate Premature amount on Recurring deposit account | Calculate Interest on recurring Deposit Account | Post Interest on recurring Deposit Account
* @param {number} accountId accountId
* @param {object} body
* @param {string} [command] command
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
handleCommands5: async (accountId: number, body: object, command?: string, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'accountId' is not null or undefined
assertParamExists('handleCommands5', 'accountId', accountId)
// verify required parameter 'body' is not null or undefined
assertParamExists('handleCommands5', 'body', body)
const localVarPath = `/recurringdepositaccounts/{accountId}`
.replace(`{${"accountId"}}`, encodeURIComponent(String(accountId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (command !== undefined) {
localVarQueryParameter['command'] = command;
}
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {FormDataContentDisposition} [file]
* @param {string} [locale]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
postRecurringDepositTemplate: async (file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts/uploadtemplate`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (file !== undefined) {
localVarFormParams.append('file', new Blob([JSON.stringify(file)], { type: "application/json", }));
}
if (locale !== undefined) {
localVarFormParams.append('locale', locale as any);
}
if (dateFormat !== undefined) {
localVarFormParams.append('dateFormat', dateFormat as any);
}
localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = localVarFormParams;
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {FormDataContentDisposition} [file]
* @param {string} [locale]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
postRecurringDepositTransactionsTemplate: async (file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts/transactions/uploadtemplate`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (file !== undefined) {
localVarFormParams.append('file', new Blob([JSON.stringify(file)], { type: "application/json", }));
}
if (locale !== undefined) {
localVarFormParams.append('locale', locale as any);
}
if (dateFormat !== undefined) {
localVarFormParams.append('dateFormat', dateFormat as any);
}
localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = localVarFormParams;
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Lists Recurring deposit applications/accounts Example Requests: recurringdepositaccounts recurringdepositaccounts?fields=name
* @summary List Recurring deposit applications/accounts
* @param {boolean} [paged] paged
* @param {number} [offset] offset
* @param {number} [limit] limit
* @param {string} [orderBy] orderBy
* @param {string} [sortOrder] sortOrder
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveAll31: async (paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (paged !== undefined) {
localVarQueryParameter['paged'] = paged;
}
if (offset !== undefined) {
localVarQueryParameter['offset'] = offset;
}
if (limit !== undefined) {
localVarQueryParameter['limit'] = limit;
}
if (orderBy !== undefined) {
localVarQueryParameter['orderBy'] = orderBy;
}
if (sortOrder !== undefined) {
localVarQueryParameter['sortOrder'] = sortOrder;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Retrieves a recurring deposit application/account Example Requests : recurringdepositaccounts/1 recurringdepositaccounts/1?associations=all
* @summary Retrieve a recurring deposit application/account
* @param {number} accountId accountId
* @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly
* @param {string} [chargeStatus] chargeStatus
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveOne21: async (accountId: number, staffInSelectedOfficeOnly?: boolean, chargeStatus?: string, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'accountId' is not null or undefined
assertParamExists('retrieveOne21', 'accountId', accountId)
const localVarPath = `/recurringdepositaccounts/{accountId}`
.replace(`{${"accountId"}}`, encodeURIComponent(String(accountId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (staffInSelectedOfficeOnly !== undefined) {
localVarQueryParameter['staffInSelectedOfficeOnly'] = staffInSelectedOfficeOnly;
}
if (chargeStatus !== undefined) {
localVarQueryParameter['chargeStatus'] = chargeStatus;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Submits new recurring deposit application Mandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId Optional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account ) Inherited from Product (if not provided): interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts, withHoldTax
* @summary Submit new recurring deposit application
* @param {PostRecurringDepositAccountsRequest} postRecurringDepositAccountsRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
submitApplication1: async (postRecurringDepositAccountsRequest: PostRecurringDepositAccountsRequest, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'postRecurringDepositAccountsRequest' is not null or undefined
assertParamExists('submitApplication1', 'postRecurringDepositAccountsRequest', postRecurringDepositAccountsRequest)
const localVarPath = `/recurringdepositaccounts`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(postRecurringDepositAccountsRequest, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* This is a convenience resource. It can be useful when building maintenance user interface screens for recurring deposit applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: recurringdepositaccounts/template?clientId=1 recurringdepositaccounts/template?clientId=1&productId=1
* @summary Retrieve recurring Deposit Account Template
* @param {number} [clientId] clientId
* @param {number} [groupId] groupId
* @param {number} [productId] productId
* @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
template13: async (clientId?: number, groupId?: number, productId?: number, staffInSelectedOfficeOnly?: boolean, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/recurringdepositaccounts/template`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
if (clientId !== undefined) {
localVarQueryParameter['clientId'] = clientId;
}
if (groupId !== undefined) {
localVarQueryParameter['groupId'] = groupId;
}
if (productId !== undefined) {
localVarQueryParameter['productId'] = productId;
}
if (staffInSelectedOfficeOnly !== undefined) {
localVarQueryParameter['staffInSelectedOfficeOnly'] = staffInSelectedOfficeOnly;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Recurring deposit application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc
* @summary Modify a recurring deposit application
* @param {number} accountId accountId
* @param {PutRecurringDepositAccountsAccountIdRequest} putRecurringDepositAccountsAccountIdRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
update17: async (accountId: number, putRecurringDepositAccountsAccountIdRequest: PutRecurringDepositAccountsAccountIdRequest, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'accountId' is not null or undefined
assertParamExists('update17', 'accountId', accountId)
// verify required parameter 'putRecurringDepositAccountsAccountIdRequest' is not null or undefined
assertParamExists('update17', 'putRecurringDepositAccountsAccountIdRequest', putRecurringDepositAccountsAccountIdRequest)
const localVarPath = `/recurringdepositaccounts/{accountId}`
.replace(`{${"accountId"}}`, encodeURIComponent(String(accountId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication tenantid required
await setApiKeyToObject(localVarHeaderParameter, "fineract-platform-tenantid", configuration)
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(putRecurringDepositAccountsAccountIdRequest, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
}
};
/**
* RecurringDepositAccountApi - functional programming interface
* @export
*/
export const RecurringDepositAccountApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = RecurringDepositAccountApiAxiosParamCreator(configuration)
return {
/**
*
* @param {number} accountId accountId
* @param {string} [command] command
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async accountClosureTemplate1(accountId: number, command?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.accountClosureTemplate1(accountId, command, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* At present we support hard delete of recurring deposit application so long as its in \'Submitted and pending approval\' state. One the application is moves past this state, it is not possible to do a \'hard\' delete of the application or the account. An API endpoint will be added to close/de-activate the recurring deposit account.
* @summary Delete a recurring deposit application
* @param {number} accountId accountId
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async delete16(accountId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteRecurringDepositAccountsResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.delete16(accountId, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {number} [officeId]
* @param {number} [staffId]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async getRecurringDepositTemplate(officeId?: number, staffId?: number, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getRecurringDepositTemplate(officeId, staffId, dateFormat, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {number} [officeId]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async getRecurringDepositTransactionTemplate(officeId?: number, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getRecurringDepositTransactionTemplate(officeId, dateFormat, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Approve recurring deposit application: Approves recurring deposit application so long as its in \'Submitted and pending approval\' state. Undo approval recurring deposit application: Will move \'approved\' recurring deposit application back to \'Submitted and pending approval\' state. Reject recurring deposit application Rejects recurring deposit application so long as its in \'Submitted and pending approval\' state. Withdraw recurring deposit application: Used when an applicant withdraws from the recurring deposit application. It must be in \'Submitted and pending approval\' state. Activate a recurring deposit account: Results in an approved recurring deposit application being converted into an \'active\' recurring deposit account. Update the recommended deposit amount for a recurring deposit account: Updates the recommended deposit amount for a RD account as on the effective date. Close a recurring deposit account Results in a Matured recurring deposit account being converted into a \'closed\' recurring deposit account. On account close allowed actions are.Premature Close a recurring deposit account: Results in an Active recurring deposit account being converted into a \'Premature Closed\' recurring deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.) On account premature closure allowed actions are. Calculate Premature amount on Recurring deposit account: Calculate premature amount on recurring deposit till premature close date. Premature amount is calculated based on interest chart and penal interest applicable if any. Calculate Interest on recurring Deposit Account: Calculates interest earned on a recurring deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process. Post Interest on recurring Deposit Account: Calculates and Posts interest earned on a recurring deposit account based on todays date and whether an interest posting or crediting event is due. Showing request/response for \'Post Interest on recurring Deposit Account\'
* @summary Approve recurring deposit application | Undo approval recurring deposit application | Reject recurring deposit application | Withdraw recurring deposit application | Activate a recurring deposit account | Update the recommended deposit amount for a recurring deposit account | Close a recurring deposit account | Premature Close a recurring deposit account | Calculate Premature amount on Recurring deposit account | Calculate Interest on recurring Deposit Account | Post Interest on recurring Deposit Account
* @param {number} accountId accountId
* @param {object} body
* @param {string} [command] command
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async handleCommands5(accountId: number, body: object, command?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostRecurringDepositAccountsAccountIdResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.handleCommands5(accountId, body, command, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {FormDataContentDisposition} [file]
* @param {string} [locale]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async postRecurringDepositTemplate(file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.postRecurringDepositTemplate(file, locale, dateFormat, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {FormDataContentDisposition} [file]
* @param {string} [locale]
* @param {string} [dateFormat]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async postRecurringDepositTransactionsTemplate(file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.postRecurringDepositTransactionsTemplate(file, locale, dateFormat, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Lists Recurring deposit applications/accounts Example Requests: recurringdepositaccounts recurringdepositaccounts?fields=name
* @summary List Recurring deposit applications/accounts
* @param {boolean} [paged] paged
* @param {number} [offset] offset
* @param {number} [limit] limit
* @param {string} [orderBy] orderBy
* @param {string} [sortOrder] sortOrder
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async retrieveAll31(paged?: boolean, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetRecurringDepositAccountsResponse>>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveAll31(paged, offset, limit, orderBy, sortOrder, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Retrieves a recurring deposit application/account Example Requests : recurringdepositaccounts/1 recurringdepositaccounts/1?associations=all
* @summary Retrieve a recurring deposit application/account
* @param {number} accountId accountId
* @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly
* @param {string} [chargeStatus] chargeStatus
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async retrieveOne21(accountId: number, staffInSelectedOfficeOnly?: boolean, chargeStatus?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetRecurringDepositAccountsAccountIdResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveOne21(accountId, staffInSelectedOfficeOnly, chargeStatus, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Submits new recurring deposit application Mandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId Optional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account ) Inherited from Product (if not provided): interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts, withHoldTax
* @summary Submit new recurring deposit application
* @param {PostRecurringDepositAccountsRequest} postRecurringDepositAccountsRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async submitApplication1(postRecurringDepositAccountsRequest: PostRecurringDepositAccountsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostRecurringDepositAccountsResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.submitApplication1(postRecurringDepositAccountsRequest, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* This is a convenience resource. It can be useful when building maintenance user interface screens for recurring deposit applications. The template data returned consists of any or all of: Field Defaults Allowed Value Lists Example Requests: recurringdepositaccounts/template?clientId=1 recurringdepositaccounts/template?clientId=1&productId=1
* @summary Retrieve recurring Deposit Account Template
* @param {number} [clientId] clientId
* @param {number} [groupId] groupId
* @param {number} [productId] productId
* @param {boolean} [staffInSelectedOfficeOnly] staffInSelectedOfficeOnly
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async template13(clientId?: number, groupId?: number, productId?: number, staffInSelectedOfficeOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetRecurringDepositAccountsTemplateResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.template13(clientId, groupId, productId, staffInSelectedOfficeOnly, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Recurring deposit application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc
* @summary Modify a recurring deposit application
* @param {number} accountId accountId
* @param {PutRecurringDepositAccountsAccountIdRequest} putRecurringDepositAccountsAccountIdRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async update17(accountId: number, putRecurringDepositAccountsAccountIdRequest: PutRecurringDepositAccountsAccountIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutRecurringDepositAccountsAccountIdResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.update17(accountId, putRecurringDepositAccountsAccountIdRequest, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
}
};
/**
* RecurringDepositAccountApi - factory interface
* @export
*/
export const RecurringDepositAccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: