@crediblex.io/fineract-api-client
Version:
TypeScript client for Fineract APIs
55 lines • 2.94 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFineractSDK = exports.FineractSDK = void 0;
const http_client_1 = require("./utils/http-client");
const fineract_sme_api_1 = require("./api/fineract-sme-api");
const fineract_datatable_api_1 = require("./api/fineract-datatable-api");
const fineract_loanproducts_api_1 = require("./api/fineract-loanproducts-api");
const fineract_savingsproducts_api_1 = require("./api/fineract-savingsproducts-api");
const fineract_savingsaccounts_api_1 = require("./api/fineract-savingsaccounts-api");
const fineract_loansaccounts_api_1 = require("./api/fineract-loansaccounts-api");
const fineract_reports_api_1 = require("./api/fineract-reports-api");
const fineract_holidays_api_1 = require("./api/fineract-holidays-api");
const fineract_workingdays_api_1 = require("./api/fineract-workingdays-api");
const fineract_creditlines_api_1 = require("./api/fineract-creditlines-api");
/**
* Main SDK class for interacting with Fineract APIs.
* It provides access to various API modules, starting with FineractClientApi.
*/
class FineractSDK {
/**
* Initializes a new instance of the FineractSDK.
* @param config Configuration for the SDK, including baseURL, tenantId, and credentials.
*/
constructor(config) {
this.httpClient = new http_client_1.HttpClient(config);
this.sme = new fineract_sme_api_1.FineractSmeApi(this.httpClient);
this.datatable = new fineract_datatable_api_1.FineractDatatableApi(this.httpClient);
this.loanproducts = new fineract_loanproducts_api_1.FineractLoanProductsApi(this.httpClient);
this.savingsproducts = new fineract_savingsproducts_api_1.FineractSavingsProductsApi(this.httpClient);
this.savingsaccounts = new fineract_savingsaccounts_api_1.FineractSavingsAccountsApi(this.httpClient);
this.loansaccounts = new fineract_loansaccounts_api_1.FineractLoansAccountsApi(this.httpClient);
this.reports = new fineract_reports_api_1.FineractReportsApi(this.httpClient);
this.holidays = new fineract_holidays_api_1.FineractHolidaysApi(this.httpClient);
this.workingdays = new fineract_workingdays_api_1.FineractWorkingDaysApi(this.httpClient);
this.creditlines = new fineract_creditlines_api_1.FineractCreditLinesApi(this.httpClient);
}
/**
* Allows direct access to the underlying HttpClient for advanced use cases
* or for API endpoints not yet covered by specific API client classes.
*/
getHttpClient() {
return this.httpClient;
}
}
exports.FineractSDK = FineractSDK;
/**
* Factory function to easily create an instance of the FineractSDK.
* @param config Configuration for the SDK.
* @returns A new instance of FineractSDK.
*/
function createFineractSDK(config) {
return new FineractSDK(config);
}
exports.createFineractSDK = createFineractSDK;
//# sourceMappingURL=fineract-sdk.js.map