This is an automated email from the ASF dual-hosted git repository. Aman-Mittal pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/fineract-consumer-facing.git
commit d041a75c84de812848f6ea2140d65b5e38f5573b Merge: c536580 260f020 Author: Aman-Mittal <[email protected]> AuthorDate: Wed Aug 12 11:02:53 2026 +0530 Merge pull request #98 from edk12564/idempotency Idempotency passthrough implementation for Fineract write endpoints .../audit/command/api/AuditCommandController.java | 2 +- .../api/AuthenticationCommandController.java | 2 +- .../service/AuthenticationCommandServiceImpl.java | 4 +- .../api/BeneficiariesCommandController.java | 2 +- .../service/BeneficiariesCommandServiceImpl.java | 10 +- .../access/filter/DeviceFingerprintFilter.java | 2 +- .../configs/FineractClientConfig.java | 56 ++++++++ .../fineractclient/{ => data}/FineractHeaders.java | 3 +- ...java => FineractIdempotencyKeyInterceptor.java} | 18 ++- .../FineractTenantHeaderInterceptor.java | 2 +- .../{ => service}/FineractCaller.java | 16 ++- .../idempotency/data/DerivedIdempotencyKey.java} | 10 +- .../IdempotencyKeyMalformedException.java} | 24 +--- .../idempotency/service/IdempotencyKeyDeriver.java | 49 +++++++ .../service/IdempotencyKeyHolder.java} | 19 ++- .../service/IdempotencyKeyPolicyEvaluator.java} | 23 +++- .../stepup/{ => data}/StepUpConstants.java | 2 +- .../stepup/{ => service}/StepUpTokenService.java | 3 +- .../web/{ => data}/ConsumerHeaders.java | 3 +- .../{validation => web/data}/PasswordPolicy.java | 2 +- .../EmailMaskingService.java} | 6 +- .../loans/command/api/LoansCommandController.java | 12 ++ .../command/data/ModifyLoanApplicationCommand.java | 1 + .../command/data/SubmitLoanApplicationCommand.java | 1 + .../data/WithdrawLoanApplicationCommand.java | 1 + .../exception/LoanCommandInProgressException.java} | 24 +--- .../command/service/LoansCommandServiceImpl.java | 27 +++- .../loans/query/service/LoansQueryServiceImpl.java | 2 +- .../data/SubmitRegistrationCommandRequest.java | 2 +- .../service/RegistrationCommandServiceImpl.java | 4 +- .../query/service/SavingsQueryServiceImpl.java | 2 +- .../command/api/TransfersCommandController.java | 6 +- .../command/data/ConfirmTransferCommand.java | 1 + .../exception/TransferInProgressException.java} | 24 +--- .../service/TransfersCommandServiceImpl.java | 101 ++++++++------ .../user/command/api/UserCommandController.java | 2 +- .../data/ConfirmPasswordChangeCommandRequest.java | 2 +- .../command/data/ResetPasswordCommandRequest.java | 2 +- .../command/service/UserCommandServiceImpl.java | 8 +- .../user/query/service/UserQueryServiceImpl.java | 4 +- .../BeneficiariesCommandServiceImplTest.java | 2 +- .../cucumber/clients/AuthenticationClient.java | 2 +- .../cucumber/clients/UserPasswordClient.java | 2 +- .../cucumber/helpers/ConsumerApiClientFactory.java | 2 +- .../consumer/cucumber/helpers/FineractSeeder.java | 10 +- .../cucumber/steps/BeneficiariesSteps.java | 5 +- .../consumer/cucumber/steps/LoansSteps.java | 84 +++++++++++- .../consumer/cucumber/steps/TransfersSteps.java | 49 ++++++- .../access/filter/DeviceFingerprintFilterTest.java | 2 +- .../MissingRequestHeaderExceptionHandlerTest.java | 55 ++++++++ .../configs/FineractClientConfigTest.java | 91 ++++++++++++ .../FineractIdempotencyKeyInterceptorTest.java | 85 ++++++++++++ .../fineractclient/service/FineractCallerTest.java | 86 ++++++++++++ .../service/IdempotencyKeyDeriverTest.java | 62 +++++++++ .../service/IdempotencyKeyHolderTest.java} | 34 ++--- .../service/IdempotencyKeyPolicyEvaluatorTest.java | 81 +++++++++++ .../EmailMaskingServiceTest.java} | 14 +- .../command/api/LoansCommandControllerTest.java | 152 +++++++++++++++++++++ .../service/LoansCommandServiceImplTest.java | 117 ++++++++++++++-- .../api/TransfersCommandControllerTest.java | 109 +++++++++++++++ .../service/TransfersCommandServiceImplTest.java | 90 +++++++++++- .../service/UserCommandServiceImplTest.java | 4 +- consumer/src/test/resources/features/loans.feature | 9 ++ .../src/test/resources/features/transfers.feature | 10 ++ .../src/app/features/loans/loan-apply.component.ts | 32 ++++- .../src/app/features/loans/loans.store.spec.ts | 9 +- frontend/src/app/features/loans/loans.store.ts | 15 +- .../app/features/transfers/transfer.component.ts | 16 ++- .../app/features/transfers/transfers.store.spec.ts | 8 +- .../src/app/features/transfers/transfers.store.ts | 7 +- 70 files changed, 1495 insertions(+), 233 deletions(-)
