This is an automated email from the ASF dual-hosted git repository. rajanmaurya154 pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/fineract-cn-mobile.git
commit 5b5ad3a60f3f5dd135f8447509f3f54c9fcd18d8 Author: Mohak <[email protected]> AuthorDate: Sat May 19 17:00:27 2018 +0530 feat : integrated fake database layer --- .../java/org/apache/fineract/FakeJsonName.java | 11 +++- .../org/apache/fineract/FakeRemoteDataSource.java | 64 ++++++++++++++++++++++ .../fineract/data/datamanager/DataManagerAuth.java | 13 ++++- .../data/datamanager/DataManagerCustomer.java | 55 +++++++++++++++++-- .../data/datamanager/DataManagerDeposit.java | 27 ++++++++- .../datamanager/DataManagerIndividualLending.java | 15 ++++- .../data/datamanager/DataManagerLoans.java | 23 +++++++- .../data/datamanager/DataManagerRoles.java | 13 ++++- app/src/main/resources/authentication.json | 7 +++ app/src/main/resources/command.json | 8 +++ app/src/main/resources/customer.json | 45 ++++++++++++++- app/src/main/resources/customerPage.json | 52 ++++++++++++++++++ app/src/main/resources/depositAccount.json | 13 +++++ app/src/main/resources/identification.json | 16 ++++++ app/src/main/resources/loanAccount.json | 55 +++++++++++++++++++ app/src/main/resources/loanAccountPage.json | 60 ++++++++++++++++++++ app/src/main/resources/plannedPaymentPage.json | 23 ++++++++ app/src/main/resources/role.json | 28 ++++++++++ app/src/main/resources/scanCard.json | 6 ++ 19 files changed, 520 insertions(+), 14 deletions(-) diff --git a/app/src/commonTest/java/org/apache/fineract/FakeJsonName.java b/app/src/commonTest/java/org/apache/fineract/FakeJsonName.java index 3b13ebe..441ae48 100644 --- a/app/src/commonTest/java/org/apache/fineract/FakeJsonName.java +++ b/app/src/commonTest/java/org/apache/fineract/FakeJsonName.java @@ -7,5 +7,14 @@ package org.apache.fineract; public class FakeJsonName { public static final String CUSTOMER = "customer.json"; - + public static final String AUTHENTICATION = "authentication.json"; + public static final String CUSTOMER_PAGE = "customerPage.json"; + public static final String LOAN_ACCOUNT_PAGE = "loanAccountPage.json"; + public static final String DEPOSIT_ACCOUNTS = "depositAccount.json"; + public static final String IDENTIFICATIONS = "identification.json"; + public static final String SCAN_CARDS = "scanCard.json"; + public static final String CUSTOMER_COMMANDS = "command.json"; + public static final String LOAN_ACCOUNT = "loanAccount.json"; + public static final String PLANNED_PAYMENT_PAGE = "plannedPaymentPage.json"; + public static final String ROLES = "role.json"; } diff --git a/app/src/commonTest/java/org/apache/fineract/FakeRemoteDataSource.java b/app/src/commonTest/java/org/apache/fineract/FakeRemoteDataSource.java index 87c3451..01f6bb3 100644 --- a/app/src/commonTest/java/org/apache/fineract/FakeRemoteDataSource.java +++ b/app/src/commonTest/java/org/apache/fineract/FakeRemoteDataSource.java @@ -1,6 +1,20 @@ package org.apache.fineract; +import com.google.gson.reflect.TypeToken; + +import org.apache.fineract.data.models.Authentication; +import org.apache.fineract.data.models.customer.Command; import org.apache.fineract.data.models.customer.Customer; +import org.apache.fineract.data.models.customer.CustomerPage; +import org.apache.fineract.data.models.customer.identification.Identification; +import org.apache.fineract.data.models.customer.identification.ScanCard; +import org.apache.fineract.data.models.deposit.DepositAccount; +import org.apache.fineract.data.models.loan.LoanAccount; +import org.apache.fineract.data.models.loan.LoanAccountPage; +import org.apache.fineract.data.models.payment.PlannedPaymentPage; +import org.apache.fineract.data.models.rolesandpermission.Role; + +import java.util.List; /** * FakeRemoteDataSource is reading the local json files into the java object using gson. @@ -14,4 +28,54 @@ public class FakeRemoteDataSource { return testDataFactory.getObjectTypePojo(Customer.class, FakeJsonName.CUSTOMER); } + + public static Authentication getAuth() { + return testDataFactory.getObjectTypePojo(Authentication.class, + FakeJsonName.AUTHENTICATION); + } + + public static CustomerPage getCustomerPage() { + return testDataFactory.getObjectTypePojo(CustomerPage.class, + FakeJsonName.CUSTOMER_PAGE); + } + + public static List<Role> getRoles() { + return testDataFactory.getListTypePojo(new TypeToken<List<Role>>() { + }, FakeJsonName.ROLES); + } + + public static LoanAccountPage getloanAccountPage() { + return testDataFactory.getObjectTypePojo(LoanAccountPage.class, + FakeJsonName.LOAN_ACCOUNT_PAGE); + } + + public static List<DepositAccount> getCustomerDepositAccounts() { + return testDataFactory.getListTypePojo(new TypeToken<List<DepositAccount>>() { + }, FakeJsonName.DEPOSIT_ACCOUNTS); + } + + public static List<Identification> getIdentifications() { + return testDataFactory.getListTypePojo(new TypeToken<List<Identification>>() { + }, FakeJsonName.IDENTIFICATIONS); + } + + public static List<ScanCard> getScanCards() { + return testDataFactory.getListTypePojo(new TypeToken<List<ScanCard>>() { + }, FakeJsonName.SCAN_CARDS); + } + + public static List<Command> getCustomerCommands() { + return testDataFactory.getListTypePojo(new TypeToken<List<Command>>() { + }, FakeJsonName.CUSTOMER_COMMANDS); + } + + public static LoanAccount getloanAccount() { + return testDataFactory.getObjectTypePojo(LoanAccount.class, + FakeJsonName.LOAN_ACCOUNT); + } + + public static PlannedPaymentPage getPlannedPaymentPage() { + return testDataFactory.getObjectTypePojo(PlannedPaymentPage.class, + FakeJsonName.PLANNED_PAYMENT_PAGE); + } } diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerAuth.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerAuth.java index ddfbb88..68e43a0 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerAuth.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerAuth.java @@ -2,6 +2,7 @@ package org.apache.fineract.data.datamanager; import android.util.Base64; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.Authentication; import org.apache.fineract.data.remote.BaseApiManager; @@ -12,6 +13,8 @@ import javax.inject.Inject; import javax.inject.Singleton; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; /** * @author Rajan Maurya On 16/03/17. @@ -34,7 +37,15 @@ public class DataManagerAuth { public Observable<Authentication> login(String username, String password) { return baseApiManager.getAuthApi().login(username, - Base64.encodeToString(password.getBytes(Charset.forName("UTF-8")), Base64.NO_WRAP)); + Base64.encodeToString(password.getBytes(Charset.forName("UTF-8")), Base64.NO_WRAP)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<Authentication>>() { + @Override + public ObservableSource<Authentication> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getAuth()); + } + }); } public Observable<Authentication> refreshToken() { diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerCustomer.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerCustomer.java index a6ce417..c2357a2 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerCustomer.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerCustomer.java @@ -1,5 +1,6 @@ package org.apache.fineract.data.datamanager; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.customer.Command; import org.apache.fineract.data.models.customer.Customer; @@ -15,6 +16,8 @@ import javax.inject.Singleton; import io.reactivex.Completable; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; import okhttp3.MultipartBody; /** @@ -37,12 +40,28 @@ public class DataManagerCustomer extends FineractBaseDataManager { public Observable<CustomerPage> fetchCustomers(Integer pageIndex, Integer size) { return authenticatedObservableApi(baseApiManager.getCustomerApi() - .fetchCustomers(pageIndex, size)); + .fetchCustomers(pageIndex, size)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<CustomerPage>>() { + @Override + public ObservableSource<CustomerPage> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getCustomerPage()); + } + }); } public Observable<Customer> fetchCustomer(String identifier) { return authenticatedObservableApi(baseApiManager.getCustomerApi() - .fetchCustomer(identifier)); + .fetchCustomer(identifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<Customer>>() { + @Override + public ObservableSource<Customer> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getCustomer()); + } + }); } public Completable updateCustomer(String customerIdentifier, Customer customer) { @@ -67,12 +86,30 @@ public class DataManagerCustomer extends FineractBaseDataManager { public Observable<List<Command>> fetchCustomerCommands(String customerIdentifier) { return authenticatedObservableApi(baseApiManager.getCustomerApi() - .fetchCustomerCommands(customerIdentifier)); + .fetchCustomerCommands(customerIdentifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<List<Command>>>() { + @Override + public ObservableSource<List<Command>> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getCustomerCommands()); + } + }); } public Observable<List<Identification>> fetchIdentifications(String customerIdentifier) { return authenticatedObservableApi(baseApiManager.getCustomerApi() - .fetchIdentification(customerIdentifier)); + .fetchIdentification(customerIdentifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<List<Identification>>> + () { + @Override + public ObservableSource<List<Identification>> apply( + Throwable throwable) + throws Exception { + return Observable.just(FakeRemoteDataSource.getIdentifications()); + } + }); } public Completable createIdentificationCard(String identifier, Identification identification) { @@ -89,7 +126,15 @@ public class DataManagerCustomer extends FineractBaseDataManager { public Observable<List<ScanCard>> fetchIdentificationScanCards(String customerIdentifier, String identificationNumber) { return authenticatedObservableApi(baseApiManager.getCustomerApi() - .fetchIdentificationScanCards(customerIdentifier, identificationNumber)); + .fetchIdentificationScanCards(customerIdentifier, identificationNumber)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<List<ScanCard>>>() { + @Override + public ObservableSource<List<ScanCard>> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getScanCards()); + } + }); } public Completable uploadIdentificationCardScan(String customerIdentifier, diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerDeposit.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerDeposit.java index dcbb4cd..8e13597 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerDeposit.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerDeposit.java @@ -1,5 +1,6 @@ package org.apache.fineract.data.datamanager; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.deposit.DepositAccount; import org.apache.fineract.data.models.deposit.ProductDefinition; @@ -12,6 +13,8 @@ import javax.inject.Singleton; import io.reactivex.Completable; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; /** * @author Rajan Maurya @@ -34,13 +37,33 @@ public class DataManagerDeposit extends FineractBaseDataManager { public Observable<List<DepositAccount>> getCustomerDepositAccounts( String customerIdentifier) { return authenticatedObservableApi(baseApiManager.getDepositApi() - .fetchCustomersDeposits(customerIdentifier)); + .fetchCustomersDeposits(customerIdentifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<List<DepositAccount>>> + () { + @Override + public ObservableSource<List<DepositAccount>> apply( + Throwable throwable) + throws Exception { + return Observable.just(FakeRemoteDataSource + .getCustomerDepositAccounts()); + } + }); } public Observable<DepositAccount> getCustomerDepositAccountDetails( String accountIdentifier) { return authenticatedObservableApi(baseApiManager.getDepositApi() - .fetchCustomerDepositDetails(accountIdentifier)); + .fetchCustomerDepositDetails(accountIdentifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<DepositAccount>>() { + @Override + public ObservableSource<DepositAccount> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource + .getCustomerDepositAccounts().get(0)); + } + }); } public Observable<List<ProductDefinition>> fetchProductDefinitions() { diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerIndividualLending.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerIndividualLending.java index 882b2bd..a3ba78e 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerIndividualLending.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerIndividualLending.java @@ -1,5 +1,6 @@ package org.apache.fineract.data.datamanager; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.payment.PlannedPaymentPage; import org.apache.fineract.data.remote.BaseApiManager; @@ -8,6 +9,8 @@ import javax.inject.Inject; import javax.inject.Singleton; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; /** * @author Rajan Maurya @@ -31,6 +34,16 @@ public class DataManagerIndividualLending extends FineractBaseDataManager { String caseIdentifier, Integer pageIndex, Integer size, String initialDisbursalDate) { return authenticatedObservableApi(baseApiManager .getIndividualLendingService().getPaymentScheduleForCase( - productIdentifier, caseIdentifier, pageIndex, size, initialDisbursalDate)); + productIdentifier, caseIdentifier, pageIndex, size, initialDisbursalDate)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<PlannedPaymentPage>>() { + @Override + public ObservableSource<PlannedPaymentPage> apply( + Throwable throwable) + throws Exception { + return Observable.just( + FakeRemoteDataSource.getPlannedPaymentPage()); + } + }); } } diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerLoans.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerLoans.java index c699e11..e315d80 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerLoans.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerLoans.java @@ -1,5 +1,6 @@ package org.apache.fineract.data.datamanager; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.loan.LoanAccount; import org.apache.fineract.data.models.loan.LoanAccountPage; @@ -11,6 +12,8 @@ import javax.inject.Singleton; import io.reactivex.Completable; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; /** * @author Rajan Maurya @@ -33,13 +36,29 @@ public class DataManagerLoans extends FineractBaseDataManager { public Observable<LoanAccountPage> fetchCustomerLoanAccounts( String customeridentifier, Integer pageIndex, Integer size) { return authenticatedObservableApi(baseApiManager.getLoanApi() - .fetchCustomerLoanAccounts(customeridentifier, pageIndex, size)); + .fetchCustomerLoanAccounts(customeridentifier, pageIndex, size)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<LoanAccountPage>>() { + @Override + public ObservableSource<LoanAccountPage> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getloanAccountPage()); + } + }); } public Observable<LoanAccount> fetchCustomerLoanDetails( String productIdentifier, String caseIdentifier) { return authenticatedObservableApi(baseApiManager.getLoanApi() - .fetchCustomerLoanDetails(productIdentifier, caseIdentifier)); + .fetchCustomerLoanDetails(productIdentifier, caseIdentifier)) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<LoanAccount>>() { + @Override + public ObservableSource<LoanAccount> apply( + Throwable throwable) throws Exception { + return Observable.just(FakeRemoteDataSource.getloanAccount()); + } + }); } public Observable<ProductPage> getProducts(Integer pageIndex, Integer size) { diff --git a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerRoles.java b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerRoles.java index 8de52aa..60df5c0 100644 --- a/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerRoles.java +++ b/app/src/main/java/org/apache/fineract/data/datamanager/DataManagerRoles.java @@ -1,5 +1,6 @@ package org.apache.fineract.data.datamanager; +import org.apache.fineract.FakeRemoteDataSource; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.data.models.rolesandpermission.Role; import org.apache.fineract.data.remote.BaseApiManager; @@ -10,6 +11,8 @@ import javax.inject.Inject; import javax.inject.Singleton; import io.reactivex.Observable; +import io.reactivex.ObservableSource; +import io.reactivex.functions.Function; /** * @author Rajan Maurya @@ -31,6 +34,14 @@ public class DataManagerRoles extends FineractBaseDataManager { public Observable<List<Role>> getRoles() { return authenticatedObservableApi( - baseApiManager.getRolesAndPermissionsService().getRoles()); + baseApiManager.getRolesAndPermissionsService().getRoles()) + .onErrorResumeNext( + new Function<Throwable, ObservableSource<List<Role>>>() { + @Override + public ObservableSource<List<Role>> apply(Throwable throwable) + throws Exception { + return Observable.just(FakeRemoteDataSource.getRoles()); + } + }); } } diff --git a/app/src/main/resources/authentication.json b/app/src/main/resources/authentication.json new file mode 100644 index 0000000..9a26afb --- /dev/null +++ b/app/src/main/resources/authentication.json @@ -0,0 +1,7 @@ +{ + "tokenType": "tokenType", + "accessToken": "accessToken", + "accessTokenExpiration": "accessTokenExpiration", + "refreshTokenExpiration": "refreshTokenExpiration", + "passwordExpiration": "passwordExpiration" +} \ No newline at end of file diff --git a/app/src/main/resources/command.json b/app/src/main/resources/command.json new file mode 100644 index 0000000..079a8ad --- /dev/null +++ b/app/src/main/resources/command.json @@ -0,0 +1,8 @@ +[ + { + "action": "ACTIVATE", + "comment": "comment", + "createdOn": "createdOn", + "createdBy": "createdBy" + } +] \ No newline at end of file diff --git a/app/src/main/resources/customer.json b/app/src/main/resources/customer.json index 0e0dcd2..837a272 100644 --- a/app/src/main/resources/customer.json +++ b/app/src/main/resources/customer.json @@ -1,3 +1,46 @@ { - + "identifier": "identifier", + "type": "type", + "givenName": "givenName", + "middleName": "middleName", + "surname": "surname", + "dateOfBirth": { + "year": 1985, + "month": 11, + "day": 27 + }, + "member": false, + "accountBeneficiary": "accountBeneficiary", + "referenceCustomer": "referenceCustomer", + "assignedOffice": "assignedOffice", + "assignedEmployee": "assignedEmployee", + "address": { + "street": "street", + "city": "city", + "region": "region", + "postalCode": "postalCode", + "countryCode": "countryCode", + "country": "country" + }, + "contactDetails": [ + { + "type": "EMAIL", + "group": "BUSINESS", + "value": "value", + "preferenceLevel": 1, + "validated": false + }, + { + "type": "EMAIL", + "group": "BUSINESS", + "value": "value", + "preferenceLevel": 1, + "validated": false + } + ], + "currentState": "ACTIVE", + "createdBy": "createdBy", + "createdOn": "createdOn", + "lastModifiedBy": "lastModifiedBy", + "lastModifiedOn": "lastModifiedOn" } \ No newline at end of file diff --git a/app/src/main/resources/customerPage.json b/app/src/main/resources/customerPage.json new file mode 100644 index 0000000..ec149ea --- /dev/null +++ b/app/src/main/resources/customerPage.json @@ -0,0 +1,52 @@ +{ + "customers": [ + { + "identifier": "identifier", + "type": "type", + "givenName": "givenName", + "middleName": "middleName", + "surname": "surname", + "dateOfBirth": { + "year": 1985, + "month": 11, + "day": 27 + }, + "member": false, + "accountBeneficiary": "accountBeneficiary", + "referenceCustomer": "referenceCustomer", + "assignedOffice": "assignedOffice", + "assignedEmployee": "assignedEmployee", + "address": { + "street": "street", + "city": "city", + "region": "region", + "postalCode": "postalCode", + "countryCode": "countryCode", + "country": "country" + }, + "contactDetails": [ + { + "type": "EMAIL", + "group": "BUSINESS", + "value": "value", + "preferenceLevel": 1, + "validated": false + }, + { + "type": "EMAIL", + "group": "BUSINESS", + "value": "value", + "preferenceLevel": 1, + "validated": false + } + ], + "currentState": "ACTIVE", + "createdBy": "createdBy", + "createdOn": "createdOn", + "lastModifiedBy": "lastModifiedBy", + "lastModifiedOn": "lastModifiedOn" + } + ], + "totalPages": 1, + "totalElements": 1 +} \ No newline at end of file diff --git a/app/src/main/resources/depositAccount.json b/app/src/main/resources/depositAccount.json new file mode 100644 index 0000000..ed7eff5 --- /dev/null +++ b/app/src/main/resources/depositAccount.json @@ -0,0 +1,13 @@ +[ + { + "customerIdentifier": "customerIdentifier", + "productIdentifier": "productIdentifier", + "accountIdentifier": "accountIdentifier", + "beneficiaries": [ + "beneficiaries:1", + "beneficiaries:2" + ], + "state": "CREATED", + "balance": 245.50 + } +] \ No newline at end of file diff --git a/app/src/main/resources/identification.json b/app/src/main/resources/identification.json new file mode 100644 index 0000000..25f163d --- /dev/null +++ b/app/src/main/resources/identification.json @@ -0,0 +1,16 @@ +[ + { + "type": "type", + "number": "number", + "expirationDate": { + "year": 1985, + "month": 11, + "day": 27 + }, + "issuer": "issuer", + "createdBy": "createdBy", + "createdOn": "createdOn", + "lastModifiedBy": "lastModifiedBy", + "lastModifiedOn": "lastModifiedOn" + } +] \ No newline at end of file diff --git a/app/src/main/resources/loanAccount.json b/app/src/main/resources/loanAccount.json new file mode 100644 index 0000000..c619478 --- /dev/null +++ b/app/src/main/resources/loanAccount.json @@ -0,0 +1,55 @@ +{ + "identifier": "identifier", + "productIdentifier": "productIdentifier", + "parameters": "{\"customerIdentifier\":\"customerIdentifier\",\"maximumBalance\": 343.45,\"termRange\": {\"temporalUnit\": \"WEEKS\", \"maximum\": 45.45 }, \"paymentCycle\": {\"temporalUnit\": \"WEEKS\",\"period\": 1,\"alignmentDay\": 1,\"alignmentWeek\": 1,\"alignmentMonth\": 1},\"creditWorthinessSnapshots\":[{\"forCustomer\":\"forCustomer\"}]}", + "accountAssignments": [ + { + "designator": "designator", + "accountIdentifier": "accountIdentifier", + "ledgerIdentifier": "ledgerIdentifier" + } + ], + "currentState": "CREATED", + "createdOn": "createdOn", + "createdBy": "createdBy", + "lastModifiedOn": "lastModifiedOn", + "lastModifiedBy": "lastModifiedBy", + "loanParameters": { + "customerIdentifier": "customerIdentifier", + "creditWorthinessSnapshots": [ + { + "forCustomer": "forCustomer", + "incomeSources": [ + { + "description": "description", + "amount": 45.45 + } + ], + "assets": [ + { + "description": "description", + "amount": 45.45 + } + ], + "debts": [ + { + "description": "description", + "amount": 45.45 + } + ] + } + ], + "maximumBalance": 4500.50, + "termRange": { + "temporalUnit": "WEEKS", + "maximum": 45 + }, + "paymentCycle": { + "temporalUnit": "WEEKS", + "period": 1, + "alignmentDay": 1, + "alignmentWeek": 1, + "alignmentMonth": 1 + } + } +} \ No newline at end of file diff --git a/app/src/main/resources/loanAccountPage.json b/app/src/main/resources/loanAccountPage.json new file mode 100644 index 0000000..ba5d4b2 --- /dev/null +++ b/app/src/main/resources/loanAccountPage.json @@ -0,0 +1,60 @@ +{ + "elements": [ + { + "identifier": "identifier", + "productIdentifier": "productIdentifier", + "parameters" : "{}", + "accountAssignments": [ + { + "designator": "designator", + "accountIdentifier": "accountIdentifier", + "ledgerIdentifier": "ledgerIdentifier" + } + ], + "currentState": "CREATED", + "createdOn": "createdOn", + "createdBy": "createdBy", + "lastModifiedOn": "lastModifiedOn", + "lastModifiedBy": "lastModifiedBy", + "loanParameters": { + "customerIdentifier": "customerIdentifier", + "creditWorthinessSnapshots": [ + { + "forCustomer": "forCustomer", + "incomeSources": [ + { + "description": "description", + "amount": 45.45 + } + ], + "assets": [ + { + "description": "description", + "amount": 45.45 + } + ], + "debts": [ + { + "description": "description", + "amount": 45.45 + } + ] + } + ], + "maximumBalance": 4500.50, + "termRange": { + "temporalUnit": "WEEKS", + "maximum": 45 + }, + "paymentCycle": { + "temporalUnit": "WEEKS", + "period": 1, + "alignmentDay": 1, + "alignmentWeek": 1, + "alignmentMonth": 1 + } + } + } + ], + "totalElements": 1 +} \ No newline at end of file diff --git a/app/src/main/resources/plannedPaymentPage.json b/app/src/main/resources/plannedPaymentPage.json new file mode 100644 index 0000000..5ee08da --- /dev/null +++ b/app/src/main/resources/plannedPaymentPage.json @@ -0,0 +1,23 @@ +{ + "chargeNames": [ + { + "identifier": "identifier", + "name": "name" + } + ], + "elements": [ + { + "interestRate": 5.10, + "costComponents": [ + { + "chargeIdentifier": "chargeIdentifier", + "amount": 4500.75 + } + ], + "remainingPrincipal": 3400, + "data": "date" + } + ], + "totalPages": 1, + "totalElements": 1 +} \ No newline at end of file diff --git a/app/src/main/resources/role.json b/app/src/main/resources/role.json new file mode 100644 index 0000000..8ac814f --- /dev/null +++ b/app/src/main/resources/role.json @@ -0,0 +1,28 @@ +[ + { + "identifier": "identifier1", + "permissions": [ + { + "permittableEndpointGroupIdentifier": "permittableEndpointGroupIdentifier", + "allowedOperations": ["READ", "DELETE"] + }, + { + "permittableEndpointGroupIdentifier": "permittableEndpointGroupIdentifier", + "allowedOperations": ["READ", "DELETE"] + } + ] + }, + { + "identifier": "identifier2", + "permissions": [ + { + "permittableEndpointGroupIdentifier": "permittableEndpointGroupIdentifier", + "allowedOperations": ["READ", "DELETE"] + }, + { + "permittableEndpointGroupIdentifier": "permittableEndpointGroupIdentifier", + "allowedOperations": ["READ", "DELETE"] + } + ] + } +] \ No newline at end of file diff --git a/app/src/main/resources/scanCard.json b/app/src/main/resources/scanCard.json new file mode 100644 index 0000000..c4eab82 --- /dev/null +++ b/app/src/main/resources/scanCard.json @@ -0,0 +1,6 @@ +[ + { + "description": "description", + "identifier": "identifier" + } +] \ No newline at end of file -- To stop receiving notification emails like this one, please contact [email protected].
