UNPKG

fineract_sdk

Version:

Wrapper around fineract api.

868 lines 53.9 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.GeneralLedgerAccountApi = exports.GeneralLedgerAccountApiFactory = exports.GeneralLedgerAccountApiFp = exports.GeneralLedgerAccountApiAxiosParamCreator = 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");
/**
 * GeneralLedgerAccountApi - axios parameter creator
 * @export
 */
exports.GeneralLedgerAccountApiAxiosParamCreator = function (configuration) {
    var _this = this;
    return {
        /**
         * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
         * @summary Create a General Ledger Account
         * @param {PostGLAccountsRequest} [postGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createGLAccount1: function (postGLAccountsRequest, 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 = "/glaccounts";
                            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(postGLAccountsRequest, localVarRequestOptions, configuration);
                            return [2 /*return*/, {
                                    url: common_1.toPathString(localVarUrlObj),
                                    options: localVarRequestOptions,
                                }];
                    }
                });
            });
        },
        /**
         * Note: Only the latest accounting closure associated with a branch may be deleted.
         * @summary Delete an accounting closure
         * @param {number} glAccountId glAccountId
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteGLAccount1: function (glAccountId, 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 'glAccountId' is not null or undefined
                            common_1.assertParamExists('deleteGLAccount1', 'glAccountId', glAccountId);
                            localVarPath = "/glaccounts/{glAccountId}"
                                .replace("{" + "glAccountId" + "}", encodeURIComponent(String(glAccountId)));
                            localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
                            if (configuration) {
                                baseOptions = configuration.baseOptions;
                            }
                            localVarRequestOptions = __assign(__assign({ method: 'DELETE' }, 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,
                                }];
                    }
                });
            });
        },
        /**
         *
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getGlAccountsTemplate: function (dateFormat, 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 = "/glaccounts/downloadtemplate";
                            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 (dateFormat !== undefined) {
                                localVarQueryParameter['dateFormat'] = dateFormat;
                            }
                            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,
                                }];
                    }
                });
            });
        },
        /**
         *
         * @param {FormDataContentDisposition} [file]
         * @param {string} [locale]
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        postGlAccountsTemplate: function (file, locale, dateFormat, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, localVarFormParams, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            localVarPath = "/glaccounts/uploadtemplate";
                            localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
                            if (configuration) {
                                baseOptions = configuration.baseOptions;
                            }
                            localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options);
                            localVarHeaderParameter = {};
                            localVarQueryParameter = {};
                            localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
                            // 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 (file !== undefined) {
                                localVarFormParams.append('file', new Blob([JSON.stringify(file)], { type: "application/json", }));
                            }
                            if (locale !== undefined) {
                                localVarFormParams.append('locale', locale);
                            }
                            if (dateFormat !== undefined) {
                                localVarFormParams.append('dateFormat', dateFormat);
                            }
                            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
                            common_1.setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                            headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                            localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                            localVarRequestOptions.data = localVarFormParams;
                            return [2 /*return*/, {
                                    url: common_1.toPathString(localVarUrlObj),
                                    options: localVarRequestOptions,
                                }];
                    }
                });
            });
        },
        /**
         * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
         * @summary Retrieve a General Ledger Account
         * @param {number} glAccountId glAccountId
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retreiveAccount: function (glAccountId, fetchRunningBalance, 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 'glAccountId' is not null or undefined
                            common_1.assertParamExists('retreiveAccount', 'glAccountId', glAccountId);
                            localVarPath = "/glaccounts/{glAccountId}"
                                .replace("{" + "glAccountId" + "}", encodeURIComponent(String(glAccountId)));
                            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 (fetchRunningBalance !== undefined) {
                                localVarQueryParameter['fetchRunningBalance'] = fetchRunningBalance;
                            }
                            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,
                                }];
                    }
                });
            });
        },
        /**
         * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
         * @summary List General Ledger Accounts
         * @param {number} [type] type
         * @param {string} [searchParam] searchParam
         * @param {number} [usage] usage
         * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
         * @param {boolean} [disabled] disabled
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveAllAccounts: function (type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, 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 = "/glaccounts";
                            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 (type !== undefined) {
                                localVarQueryParameter['type'] = type;
                            }
                            if (searchParam !== undefined) {
                                localVarQueryParameter['searchParam'] = searchParam;
                            }
                            if (usage !== undefined) {
                                localVarQueryParameter['usage'] = usage;
                            }
                            if (manualEntriesAllowed !== undefined) {
                                localVarQueryParameter['manualEntriesAllowed'] = manualEntriesAllowed;
                            }
                            if (disabled !== undefined) {
                                localVarQueryParameter['disabled'] = disabled;
                            }
                            if (fetchRunningBalance !== undefined) {
                                localVarQueryParameter['fetchRunningBalance'] = fetchRunningBalance;
                            }
                            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 Value Lists Example Request:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
         * @summary Retrieve GL Accounts Template
         * @param {number} [type] type
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveNewAccountDetails: function (type, 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 = "/glaccounts/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 (type !== undefined) {
                                localVarQueryParameter['type'] = type;
                            }
                            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,
                                }];
                    }
                });
            });
        },
        /**
         * Once an accounting closure is created, only the comments associated with it may be edited
         * @summary Update an Accounting closure
         * @param {number} glAccountId glAccountId
         * @param {PutGLAccountsRequest} [putGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateGLAccount1: function (glAccountId, putGLAccountsRequest, 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 'glAccountId' is not null or undefined
                            common_1.assertParamExists('updateGLAccount1', 'glAccountId', glAccountId);
                            localVarPath = "/glaccounts/{glAccountId}"
                                .replace("{" + "glAccountId" + "}", encodeURIComponent(String(glAccountId)));
                            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(putGLAccountsRequest, localVarRequestOptions, configuration);
                            return [2 /*return*/, {
                                    url: common_1.toPathString(localVarUrlObj),
                                    options: localVarRequestOptions,
                                }];
                    }
                });
            });
        },
    };
};
/**
 * GeneralLedgerAccountApi - functional programming interface
 * @export
 */
exports.GeneralLedgerAccountApiFp = function (configuration) {
    var localVarAxiosParamCreator = exports.GeneralLedgerAccountApiAxiosParamCreator(configuration);
    return {
        /**
         * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
         * @summary Create a General Ledger Account
         * @param {PostGLAccountsRequest} [postGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createGLAccount1: function (postGLAccountsRequest, 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.createGLAccount1(postGLAccountsRequest, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         * Note: Only the latest accounting closure associated with a branch may be deleted.
         * @summary Delete an accounting closure
         * @param {number} glAccountId glAccountId
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteGLAccount1: function (glAccountId, 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.deleteGLAccount1(glAccountId, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         *
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getGlAccountsTemplate: function (dateFormat, 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.getGlAccountsTemplate(dateFormat, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         *
         * @param {FormDataContentDisposition} [file]
         * @param {string} [locale]
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        postGlAccountsTemplate: function (file, locale, dateFormat, 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.postGlAccountsTemplate(file, locale, dateFormat, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
         * @summary Retrieve a General Ledger Account
         * @param {number} glAccountId glAccountId
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retreiveAccount: function (glAccountId, fetchRunningBalance, 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.retreiveAccount(glAccountId, fetchRunningBalance, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
         * @summary List General Ledger Accounts
         * @param {number} [type] type
         * @param {string} [searchParam] searchParam
         * @param {number} [usage] usage
         * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
         * @param {boolean} [disabled] disabled
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveAllAccounts: function (type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, 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.retrieveAllAccounts(type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, 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 Value Lists Example Request:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
         * @summary Retrieve GL Accounts Template
         * @param {number} [type] type
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveNewAccountDetails: function (type, 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.retrieveNewAccountDetails(type, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
        /**
         * Once an accounting closure is created, only the comments associated with it may be edited
         * @summary Update an Accounting closure
         * @param {number} glAccountId glAccountId
         * @param {PutGLAccountsRequest} [putGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateGLAccount1: function (glAccountId, putGLAccountsRequest, 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.updateGLAccount1(glAccountId, putGLAccountsRequest, options)];
                        case 1:
                            localVarAxiosArgs = _a.sent();
                            return [2 /*return*/, common_1.createRequestFunction(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
                    }
                });
            });
        },
    };
};
/**
 * GeneralLedgerAccountApi - factory interface
 * @export
 */
exports.GeneralLedgerAccountApiFactory = function (configuration, basePath, axios) {
    var localVarFp = exports.GeneralLedgerAccountApiFp(configuration);
    return {
        /**
         * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
         * @summary Create a General Ledger Account
         * @param {PostGLAccountsRequest} [postGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createGLAccount1: function (postGLAccountsRequest, options) {
            return localVarFp.createGLAccount1(postGLAccountsRequest, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Note: Only the latest accounting closure associated with a branch may be deleted.
         * @summary Delete an accounting closure
         * @param {number} glAccountId glAccountId
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteGLAccount1: function (glAccountId, options) {
            return localVarFp.deleteGLAccount1(glAccountId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         *
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getGlAccountsTemplate: function (dateFormat, options) {
            return localVarFp.getGlAccountsTemplate(dateFormat, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         *
         * @param {FormDataContentDisposition} [file]
         * @param {string} [locale]
         * @param {string} [dateFormat]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        postGlAccountsTemplate: function (file, locale, dateFormat, options) {
            return localVarFp.postGlAccountsTemplate(file, locale, dateFormat, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
         * @summary Retrieve a General Ledger Account
         * @param {number} glAccountId glAccountId
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retreiveAccount: function (glAccountId, fetchRunningBalance, options) {
            return localVarFp.retreiveAccount(glAccountId, fetchRunningBalance, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
         * @summary List General Ledger Accounts
         * @param {number} [type] type
         * @param {string} [searchParam] searchParam
         * @param {number} [usage] usage
         * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
         * @param {boolean} [disabled] disabled
         * @param {boolean} [fetchRunningBalance] fetchRunningBalance
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveAllAccounts: function (type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, options) {
            return localVarFp.retrieveAllAccounts(type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, 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 Value Lists Example Request:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
         * @summary Retrieve GL Accounts Template
         * @param {number} [type] type
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        retrieveNewAccountDetails: function (type, options) {
            return localVarFp.retrieveNewAccountDetails(type, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Once an accounting closure is created, only the comments associated with it may be edited
         * @summary Update an Accounting closure
         * @param {number} glAccountId glAccountId
         * @param {PutGLAccountsRequest} [putGLAccountsRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateGLAccount1: function (glAccountId, putGLAccountsRequest, options) {
            return localVarFp.updateGLAccount1(glAccountId, putGLAccountsRequest, options).then(function (request) { return request(axios, basePath); });
        },
    };
};
/**
 * GeneralLedgerAccountApi - object-oriented interface
 * @export
 * @class GeneralLedgerAccountApi
 * @extends {BaseAPI}
 */
var GeneralLedgerAccountApi = /** @class */ (function (_super) {
    __extends(GeneralLedgerAccountApi, _super);
    function GeneralLedgerAccountApi() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    /**
     * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
     * @summary Create a General Ledger Account
     * @param {PostGLAccountsRequest} [postGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.createGLAccount1 = function (postGLAccountsRequest, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).createGLAccount1(postGLAccountsRequest, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glAccountId glAccountId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.deleteGLAccount1 = function (glAccountId, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).deleteGLAccount1(glAccountId, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     *
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.getGlAccountsTemplate = function (dateFormat, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).getGlAccountsTemplate(dateFormat, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.postGlAccountsTemplate = function (file, locale, dateFormat, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).postGlAccountsTemplate(file, locale, dateFormat, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
     * @summary Retrieve a General Ledger Account
     * @param {number} glAccountId glAccountId
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.retreiveAccount = function (glAccountId, fetchRunningBalance, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).retreiveAccount(glAccountId, fetchRunningBalance, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
     * @summary List General Ledger Accounts
     * @param {number} [type] type
     * @param {string} [searchParam] searchParam
     * @param {number} [usage] usage
     * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
     * @param {boolean} [disabled] disabled
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.retrieveAllAccounts = function (type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).retrieveAllAccounts(type, searchParam, usage, manualEntriesAllowed, disabled, fetchRunningBalance, 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 Value Lists Example Request:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
     * @summary Retrieve GL Accounts Template
     * @param {number} [type] type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.retrieveNewAccountDetails = function (type, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).retrieveNewAccountDetails(type, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glAccountId glAccountId
     * @param {PutGLAccountsRequest} [putGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    GeneralLedgerAccountApi.prototype.updateGLAccount1 = function (glAccountId, putGLAccountsRequest, options) {
        var _this = this;
        return exports.GeneralLedgerAccountApiFp(this.configuration).updateGLAccount1(glAccountId, putGLAccountsRequest, options).then(function (request) { return request(_this.axios, _this.basePath); });
    };
    return GeneralLedgerAccountApi;
}(base_1.BaseAPI));
exports.GeneralLedgerAccountApi = GeneralLedgerAccountApi;