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.ApiClient;
|
||||||
import org.apache.fineract.client.auth.ApiKeyAuth;
|
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}.
|
* 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 {
|
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) {
|
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() {
|
public static FineractClientBuilder builder() {
|
||||||
return new FineractClientBuilder();
|
return new FineractClientBuilder();
|
||||||
}
|
}
|
||||||
|
|
||||||
public <S> S createService(Class<S> serviceClass) {
|
protected <S> S createService(Class<S> serviceClass) {
|
||||||
return apiClient.createService(serviceClass);
|
return api.createService(serviceClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class FineractClientBuilder {
|
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 static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import org.apache.fineract.client.services.ClientApi;
|
|
||||||
import org.apache.fineract.client.util.FineractClient;
|
import org.apache.fineract.client.util.FineractClient;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
@@ -36,10 +35,9 @@ public class FineractClientTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testRetrieveAllClients() throws IOException {
|
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();
|
.basicAuth("mifos", "password").build();
|
||||||
ClientApi clientApi = client.createService(ClientApi.class);
|
assertThat(ok(fineract.clients.retrieveAll20(null, null, null, null, null, null, null, null, 0, 100, null, null, null))
|
||||||
assertThat(ok(clientApi.retrieveAll20(null, null, null, null, null, null, null, null, 0, 100, null, null, null))
|
|
||||||
.getTotalFilteredRecords()).isAtLeast(3);
|
.getTotalFilteredRecords()).isAtLeast(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user