Simplify FineractClient SDK API (FINERACT-1216)
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
6b28c0e047
commit
55b1d4f531
@@ -20,6 +20,7 @@ package org.apache.fineract.client.util;
|
||||
|
||||
import org.apache.fineract.client.ApiClient;
|
||||
import org.apache.fineract.client.auth.ApiKeyAuth;
|
||||
import org.apache.fineract.client.services.*;
|
||||
|
||||
/**
|
||||
* Fineract Client Java SDK API entry point. This is recommended to be used instead of {@link ApiClient}.
|
||||
@@ -28,18 +29,226 @@ import org.apache.fineract.client.auth.ApiKeyAuth;
|
||||
*/
|
||||
public class FineractClient {
|
||||
|
||||
private final ApiClient apiClient;
|
||||
private final ApiClient api;
|
||||
|
||||
public final AccountingClosureApi glClosures;
|
||||
public final AccountingRulesApi accountingRules;
|
||||
public final AccountNumberFormatApi accountNumberFormats;
|
||||
public final AccountTransfersApi accountTransfers;
|
||||
public final AdhocQueryApiApi adhocQuery;
|
||||
public final AuditsApi audits;
|
||||
public final AuthenticationHttpBasicApi authentication;
|
||||
public final BatchApiApi batches;
|
||||
public final CacheApi caches;
|
||||
public final CashierJournalsApi cashiersJournal;
|
||||
public final CashiersApi cashiers;
|
||||
public final CentersApi centers;
|
||||
public final ChargesApi charges;
|
||||
public final ClientApi clients;
|
||||
public final ClientChargesApi clientCharges;
|
||||
public final ClientIdentifierApi clientIdentifiers;
|
||||
public final ClientsAddressApi clientAddresses;
|
||||
public final ClientTransactionApi clientTransactions;
|
||||
public final CodesApi codes;
|
||||
public final CodeValuesApi codeValues;
|
||||
public final CurrencyApi currencies;
|
||||
public final DataTablesApi dataTables;
|
||||
public final @Deprecated DefaultApi legacy; // TODO FINERACT-1222
|
||||
public final DocumentsApi documents;
|
||||
public final EntityDataTableApi entityDatatableChecks;
|
||||
public final EntityFieldConfigurationApi entityFieldConfigurations;
|
||||
public final ExternalServicesApi externalServices;
|
||||
public final FetchAuthenticatedUserDetailsApi userDetails;
|
||||
public final FixedDepositAccountApi fixedDepositAccounts;
|
||||
public final FixedDepositProductApi fixedDepositProducts;
|
||||
public final FloatingRatesApi floatingRates;
|
||||
public final GeneralLedgerAccountApi glAccounts;
|
||||
public final GlobalConfigurationApi globalConfigurations;
|
||||
public final GroupsApi groups;
|
||||
public final HolidaysApi holidays;
|
||||
public final HooksApi hooks;
|
||||
public final InterestRateChartApi interestRateCharts;
|
||||
public final InterestRateSlabAKAInterestBandsApi interestRateChartLabs;
|
||||
public final JournalEntriesApi journalEntries;
|
||||
public final ListReportMailingJobHistoryApi reportMailings;
|
||||
public final LoanChargesApi loanCharges;
|
||||
public final LoanCollateralApi loanCollaterals;
|
||||
public final LoanProductsApi loanProducts;
|
||||
public final LoanReschedulingApi loanSchedules;
|
||||
public final LoansApi loans;
|
||||
public final LoanTransactionsApi loanTransactions;
|
||||
public final MakerCheckerOr4EyeFunctionalityApi makerCheckers;
|
||||
public final MappingFinancialActivitiesToAccountsApi financialActivyAccountMappings;
|
||||
public final MifosxBatchJobsApi jobs;
|
||||
public final MixMappingApi mixMappings;
|
||||
public final MixReportApi mixReports;
|
||||
public final MixTaxonomyApi mixTaxonomies;
|
||||
public final NotesApi notes;
|
||||
public final NotificationApi notifications;
|
||||
public final OfficesApi offices;
|
||||
public final PasswordPreferencesApi passwordPreferences;
|
||||
public final PaymentTypeApi paymentTypes;
|
||||
public final PeriodicAccrualAccountingApi periodicAccrualAccounting;
|
||||
public final PermissionsApi permissions;
|
||||
public final PocketApi selfPockets;
|
||||
public final ProvisioningCategoryApi provisioningCategories;
|
||||
public final ProvisioningCriteriaApi provisioningCriterias;
|
||||
public final ProvisioningEntriesApi provisioningEntries;
|
||||
public final RecurringDepositAccountApi recurringDepositAccounts;
|
||||
public final RecurringDepositAccountTransactionsApi recurringDepositAccountTransactions;
|
||||
public final RecurringDepositProductApi recurringDepositProducts;
|
||||
public final ReportMailingJobsApi reportMailingJobs;
|
||||
public final ReportsApi reports;
|
||||
public final RolesApi roles;
|
||||
public final RunReportsApi reportsRun;
|
||||
public final SavingsAccountApi savingsAccounts;
|
||||
public final SavingsChargesApi savingsAccountCharges;
|
||||
public final SavingsProductApi savingsProducts;
|
||||
public final SchedulerApi jobsScheduler;
|
||||
public final ScoreCardApi surveyScorecards;
|
||||
public final SearchApiApi search;
|
||||
public final SelfAccountTransferApi selfAccountTransfers;
|
||||
public final SelfAuthenticationApi selfAuthentication;
|
||||
public final SelfClientApi selfClients;
|
||||
public final SelfDividendApi selfShareProducts;
|
||||
public final SelfLoanProductsApi selfLoanProducts;
|
||||
public final SelfLoansApi selfLoans;
|
||||
public final SelfRunReportApi selfReportsRun;
|
||||
public final SelfSavingsAccountApi selfSavingsAccounts;
|
||||
public final SelfScoreCardApi selfSurveyScorecards;
|
||||
public final SelfServiceRegistrationApi selfRegistration;
|
||||
public final SelfShareAccountsApi selfShareAccounts;
|
||||
public final SelfSpmApi selfSurveys;
|
||||
public final SelfThirdPartyTransferApi selfThirdPartyBeneficiaries;
|
||||
public final SelfUserApi selfUser;
|
||||
public final SelfUserDetailsApi selfUserDetails;
|
||||
public final ShareAccountApi shareAccounts;
|
||||
public final SpmApiLookUpTableApi surveyLookupTables;
|
||||
public final SpmSurveysApi surveys;
|
||||
public final StaffApi staff;
|
||||
public final StandingInstructionsApi standingInstructions;
|
||||
public final StandingInstructionsHistoryApi standingInstructionsHistory;
|
||||
public final TaxComponentsApi taxComponents;
|
||||
public final TaxGroupApi taxGroups;
|
||||
public final TellerCashManagementApi tellers;
|
||||
public final UserGeneratedDocumentsApi templates;
|
||||
public final UsersApi users;
|
||||
public final WorkingDaysApi workingDays;
|
||||
|
||||
private FineractClient(ApiClient apiClient) {
|
||||
this.apiClient = apiClient;
|
||||
api = apiClient;
|
||||
|
||||
glClosures = apiClient.createService(AccountingClosureApi.class);
|
||||
accountingRules = apiClient.createService(AccountingRulesApi.class);
|
||||
accountNumberFormats = apiClient.createService(AccountNumberFormatApi.class);
|
||||
accountTransfers = apiClient.createService(AccountTransfersApi.class);
|
||||
adhocQuery = apiClient.createService(AdhocQueryApiApi.class);
|
||||
audits = apiClient.createService(AuditsApi.class);
|
||||
authentication = apiClient.createService(AuthenticationHttpBasicApi.class);
|
||||
batches = apiClient.createService(BatchApiApi.class);
|
||||
caches = apiClient.createService(CacheApi.class);
|
||||
cashiersJournal = apiClient.createService(CashierJournalsApi.class);
|
||||
cashiers = apiClient.createService(CashiersApi.class);
|
||||
centers = apiClient.createService(CentersApi.class);
|
||||
charges = apiClient.createService(ChargesApi.class);
|
||||
clients = apiClient.createService(ClientApi.class);
|
||||
clientCharges = apiClient.createService(ClientChargesApi.class);
|
||||
clientIdentifiers = apiClient.createService(ClientIdentifierApi.class);
|
||||
clientAddresses = apiClient.createService(ClientsAddressApi.class);
|
||||
clientTransactions = apiClient.createService(ClientTransactionApi.class);
|
||||
codes = apiClient.createService(CodesApi.class);
|
||||
codeValues = apiClient.createService(CodeValuesApi.class);
|
||||
currencies = apiClient.createService(CurrencyApi.class);
|
||||
dataTables = apiClient.createService(DataTablesApi.class);
|
||||
legacy = apiClient.createService(DefaultApi.class);
|
||||
documents = apiClient.createService(DocumentsApi.class);
|
||||
entityDatatableChecks = apiClient.createService(EntityDataTableApi.class);
|
||||
entityFieldConfigurations = apiClient.createService(EntityFieldConfigurationApi.class);
|
||||
externalServices = apiClient.createService(ExternalServicesApi.class);
|
||||
userDetails = apiClient.createService(FetchAuthenticatedUserDetailsApi.class);
|
||||
fixedDepositAccounts = apiClient.createService(FixedDepositAccountApi.class);
|
||||
fixedDepositProducts = apiClient.createService(FixedDepositProductApi.class);
|
||||
floatingRates = apiClient.createService(FloatingRatesApi.class);
|
||||
glAccounts = apiClient.createService(GeneralLedgerAccountApi.class);
|
||||
globalConfigurations = apiClient.createService(GlobalConfigurationApi.class);
|
||||
groups = apiClient.createService(GroupsApi.class);
|
||||
holidays = apiClient.createService(HolidaysApi.class);
|
||||
hooks = apiClient.createService(HooksApi.class);
|
||||
interestRateCharts = apiClient.createService(InterestRateChartApi.class);
|
||||
interestRateChartLabs = apiClient.createService(InterestRateSlabAKAInterestBandsApi.class);
|
||||
journalEntries = apiClient.createService(JournalEntriesApi.class);
|
||||
reportMailings = apiClient.createService(ListReportMailingJobHistoryApi.class);
|
||||
loanCharges = apiClient.createService(LoanChargesApi.class);
|
||||
loanCollaterals = apiClient.createService(LoanCollateralApi.class);
|
||||
loanProducts = apiClient.createService(LoanProductsApi.class);
|
||||
loanSchedules = apiClient.createService(LoanReschedulingApi.class);
|
||||
loans = apiClient.createService(LoansApi.class);
|
||||
loanTransactions = apiClient.createService(LoanTransactionsApi.class);
|
||||
makerCheckers = apiClient.createService(MakerCheckerOr4EyeFunctionalityApi.class);
|
||||
financialActivyAccountMappings = apiClient.createService(MappingFinancialActivitiesToAccountsApi.class);
|
||||
jobs = apiClient.createService(MifosxBatchJobsApi.class);
|
||||
mixMappings = apiClient.createService(MixMappingApi.class);
|
||||
mixReports = apiClient.createService(MixReportApi.class);
|
||||
mixTaxonomies = apiClient.createService(MixTaxonomyApi.class);
|
||||
notes = apiClient.createService(NotesApi.class);
|
||||
notifications = apiClient.createService(NotificationApi.class);
|
||||
offices = apiClient.createService(OfficesApi.class);
|
||||
passwordPreferences = apiClient.createService(PasswordPreferencesApi.class);
|
||||
paymentTypes = apiClient.createService(PaymentTypeApi.class);
|
||||
periodicAccrualAccounting = apiClient.createService(PeriodicAccrualAccountingApi.class);
|
||||
permissions = apiClient.createService(PermissionsApi.class);
|
||||
selfPockets = apiClient.createService(PocketApi.class);
|
||||
provisioningCategories = apiClient.createService(ProvisioningCategoryApi.class);
|
||||
provisioningCriterias = apiClient.createService(ProvisioningCriteriaApi.class);
|
||||
provisioningEntries = apiClient.createService(ProvisioningEntriesApi.class);
|
||||
recurringDepositAccounts = apiClient.createService(RecurringDepositAccountApi.class);
|
||||
recurringDepositAccountTransactions = apiClient.createService(RecurringDepositAccountTransactionsApi.class);
|
||||
recurringDepositProducts = apiClient.createService(RecurringDepositProductApi.class);
|
||||
reportMailingJobs = apiClient.createService(ReportMailingJobsApi.class);
|
||||
reports = apiClient.createService(ReportsApi.class);
|
||||
roles = apiClient.createService(RolesApi.class);
|
||||
reportsRun = apiClient.createService(RunReportsApi.class);
|
||||
savingsAccounts = apiClient.createService(SavingsAccountApi.class);
|
||||
savingsAccountCharges = apiClient.createService(SavingsChargesApi.class);
|
||||
savingsProducts = apiClient.createService(SavingsProductApi.class);
|
||||
jobsScheduler = apiClient.createService(SchedulerApi.class);
|
||||
surveyScorecards = apiClient.createService(ScoreCardApi.class);
|
||||
search = apiClient.createService(SearchApiApi.class);
|
||||
selfAccountTransfers = apiClient.createService(SelfAccountTransferApi.class);
|
||||
selfAuthentication = apiClient.createService(SelfAuthenticationApi.class);
|
||||
selfClients = apiClient.createService(SelfClientApi.class);
|
||||
selfShareProducts = apiClient.createService(SelfDividendApi.class);
|
||||
selfLoanProducts = apiClient.createService(SelfLoanProductsApi.class);
|
||||
selfLoans = apiClient.createService(SelfLoansApi.class);
|
||||
selfReportsRun = apiClient.createService(SelfRunReportApi.class);
|
||||
selfSavingsAccounts = apiClient.createService(SelfSavingsAccountApi.class);
|
||||
selfSurveyScorecards = apiClient.createService(SelfScoreCardApi.class);
|
||||
selfRegistration = apiClient.createService(SelfServiceRegistrationApi.class);
|
||||
selfShareAccounts = apiClient.createService(SelfShareAccountsApi.class);
|
||||
selfSurveys = apiClient.createService(SelfSpmApi.class);
|
||||
selfThirdPartyBeneficiaries = apiClient.createService(SelfThirdPartyTransferApi.class);
|
||||
selfUser = apiClient.createService(SelfUserApi.class);
|
||||
selfUserDetails = apiClient.createService(SelfUserDetailsApi.class);
|
||||
shareAccounts = apiClient.createService(ShareAccountApi.class);
|
||||
surveyLookupTables = apiClient.createService(SpmApiLookUpTableApi.class);
|
||||
surveys = apiClient.createService(SpmSurveysApi.class);
|
||||
staff = apiClient.createService(StaffApi.class);
|
||||
standingInstructions = apiClient.createService(StandingInstructionsApi.class);
|
||||
standingInstructionsHistory = apiClient.createService(StandingInstructionsHistoryApi.class);
|
||||
taxComponents = apiClient.createService(TaxComponentsApi.class);
|
||||
taxGroups = apiClient.createService(TaxGroupApi.class);
|
||||
tellers = apiClient.createService(TellerCashManagementApi.class);
|
||||
templates = apiClient.createService(UserGeneratedDocumentsApi.class);
|
||||
users = apiClient.createService(UsersApi.class);
|
||||
workingDays = apiClient.createService(WorkingDaysApi.class);
|
||||
}
|
||||
|
||||
public static FineractClientBuilder builder() {
|
||||
return new FineractClientBuilder();
|
||||
}
|
||||
|
||||
public <S> S createService(Class<S> serviceClass) {
|
||||
return apiClient.createService(serviceClass);
|
||||
protected <S> S createService(Class<S> serviceClass) {
|
||||
return api.createService(serviceClass);
|
||||
}
|
||||
|
||||
public static class FineractClientBuilder {
|
||||
|
||||
+2
-4
@@ -23,7 +23,6 @@ import static org.apache.fineract.client.util.Calls.ok;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.apache.fineract.client.services.ClientApi;
|
||||
import org.apache.fineract.client.util.FineractClient;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -36,10 +35,9 @@ public class FineractClientTest {
|
||||
|
||||
@Test
|
||||
void testRetrieveAllClients() throws IOException {
|
||||
FineractClient client = FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default")
|
||||
FineractClient fineract = FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default")
|
||||
.basicAuth("mifos", "password").build();
|
||||
ClientApi clientApi = client.createService(ClientApi.class);
|
||||
assertThat(ok(clientApi.retrieveAll20(null, null, null, null, null, null, null, null, 0, 100, null, null, null))
|
||||
assertThat(ok(fineract.clients.retrieveAll20(null, null, null, null, null, null, null, null, 0, 100, null, null, null))
|
||||
.getTotalFilteredRecords()).isAtLeast(3);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user