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 76783cd55efae143e0fc96bbc46800993c784423 Merge: 837dcbb 1a50166 Author: Aman-Mittal <[email protected]> AuthorDate: Fri Jul 31 09:23:26 2026 +0530 Merge pull request #78 from edk12564/audit Implement Audit feature and Application Rate Limiting consumer/build.gradle | 1 + consumer/compose.yaml | 2 + .../audit/command/api/AuditCommandController.java | 54 ++++ .../command/data/AuditEventCommandRequest.java} | 29 ++- .../command/data/AuditEventSource.java} | 15 +- .../data/AuditEventsSubmittedCommandData.java} | 23 +- .../command/data/AuditRetentionProperties.java | 50 ++++ .../data/SubmitAuditEventsCommandRequest.java} | 28 +- .../consumer/audit/command/domain/AuditEvent.java | 121 +++++++++ .../exception/AuditBatchTooLargeException.java} | 17 +- .../repository/AuditEventCommandRepository.java | 46 ++++ .../command/service/AuditCommandService.java} | 17 +- .../command/service/AuditCommandServiceImpl.java | 166 ++++++++++++ .../audit/command/service/AuditPiiScreen.java | 47 ++++ .../audit/command/service/AuditRetentionJob.java | 65 +++++ .../command/service/ServerAuditEventListener.java | 73 ++++++ .../service/AuthenticationCommandServiceImpl.java | 64 ++++- .../service/BeneficiariesCommandServiceImpl.java | 6 - .../service/BeneficiariesQueryServiceImpl.java | 4 - .../query/service/IdentityQueryServiceImpl.java | 2 - .../infrastructure/access/data/ActionPolicies.java | 1 + .../infrastructure/access/data/ConsumerAction.java | 3 +- .../data/RateLimitWindow.java} | 21 +- .../exception/RateLimitExceededException.java} | 18 +- .../access/filter/DeviceFingerprintFilter.java | 21 ++ .../access/filter/RateLimitFilter.java | 77 ++++++ .../access/service/AccessPolicyEvaluator.java | 35 ++- .../access/service/RateLimitCounter.java | 61 +++++ .../annotation/NonTransactionalAuditListener.java} | 11 +- .../annotation/TransactionalAuditListener.java} | 9 +- .../infrastructure/audit/data/AuditEventType.java | 48 ++++ .../Query.java => audit/data/AuditSeverity.java} | 16 +- .../audit/data/NonTransactionalAuditEvent.java | 48 ++++ .../audit/data/TransactionalAuditEvent.java | 48 ++++ .../Command.java => configs/AsyncConfig.java} | 18 +- .../RateLimitProperties.java} | 44 ++-- .../infrastructure/configs/SecurityConfig.java | 13 +- .../command/service/LoansCommandServiceImpl.java | 4 - .../loans/query/service/LoansQueryServiceImpl.java | 10 - .../otp/command/service/OtpCommandServiceImpl.java | 23 +- .../service/RegistrationCommandServiceImpl.java | 4 - .../query/service/SavingsQueryServiceImpl.java | 7 - .../query/service/SummaryQueryServiceImpl.java | 2 - .../service/TransfersCommandServiceImpl.java | 3 - .../command/service/UserCommandServiceImpl.java | 29 ++- .../user/query/service/UserQueryServiceImpl.java | 8 - consumer/src/main/resources/application.properties | 17 ++ .../changelog/audit/004-create-audit-events.yaml | 111 ++++++++ .../db/changelog/db.changelog-master.yaml | 4 + .../005-create-event-publication.yaml | 75 ++++++ .../service/AuditCommandServiceImplTest.java | 273 ++++++++++++++++++++ .../audit/command/service/AuditPiiScreenTest.java | 67 +++++ .../command/service/AuditRetentionJobTest.java | 137 ++++++++++ .../service/ServerAuditEventListenerTest.java | 147 +++++++++++ .../AuthenticationCommandServiceImplTest.java | 7 +- .../cucumber/helpers/ConsumerApiClientFactory.java | 14 +- .../consumer/cucumber/hooks/RateLimitReset.java | 54 ++++ .../consumer/cucumber/steps/AuditSteps.java | 285 +++++++++++++++++++++ .../consumer/cucumber/steps/RateLimitSteps.java | 113 ++++++++ .../access/filter/DeviceFingerprintFilterTest.java | 25 +- .../access/filter/RateLimitFilterTest.java | 129 ++++++++++ .../access/service/AccessPolicyEvaluatorTest.java | 4 + .../access/service/RateLimitCounterTest.java | 99 +++++++ .../command/service/OtpCommandServiceImplTest.java | 6 +- .../service/UserCommandServiceImplTest.java | 4 + consumer/src/test/resources/features/audit.feature | 52 ++++ .../resources/features/ratelimit.feature} | 15 +- frontend/public/i18n/en.json | 3 +- frontend/public/i18n/hi.json | 3 +- frontend/src/app/app.config.ts | 3 + frontend/src/app/core/audit/audit-error-handler.ts | 49 ++++ frontend/src/app/core/audit/audit.service.ts | 114 +++++++++ frontend/src/app/core/audit/pii-scrub.ts | 48 ++++ .../src/app/core/interceptors/error.interceptor.ts | 45 +++- .../features/beneficiaries/beneficiaries.store.ts | 3 + frontend/src/app/layout/shell.component.ts | 53 +++- 76 files changed, 3152 insertions(+), 219 deletions(-)
