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(-)

Reply via email to