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 744de4baf2b8d4dc014963b440e308d0554f0d6a
Merge: d041a75 895a771
Author: Aman-Mittal <[email protected]>
AuthorDate: Wed Aug 12 15:08:35 2026 +0530

    Merge pull request #97 from edk12564/openbanking
    
    Implement first steps for openbanking

 consumer/build.gradle                              |   1 +
 consumer/compose.yaml                              |   1 +
 .../command/data/AuditRetentionProperties.java     |   5 +-
 .../command/data/PrincipalUserAuthData.java        |   1 +
 .../AuthenticationKycRevokedException.java}        |  17 +-
 .../service/AuthenticationCommandServiceImpl.java  |  16 +-
 ...ookup.java => PrincipalUserAuthLookupPort.java} |   2 +-
 .../infrastructure/access/data/ActionPolicies.java |  72 ++-
 .../infrastructure/access/data/ActionPolicy.java   |   3 +-
 .../access/data/AuthenticationConstants.java       |   2 +
 .../infrastructure/access/data/ConsumerAction.java |   7 +-
 .../access/data/PrincipalUserData.java             |   1 +
 .../access/filter/DeviceFingerprintFilter.java     |   3 +-
 .../access/filter/RateLimitFilter.java             |  74 ++-
 ...serLookup.java => PrincipalUserLookupPort.java} |   2 +-
 .../access/service/AccessPolicyEvaluator.java      |  21 +-
 .../access/service/UserClientResolver.java         |   4 +-
 .../infrastructure/audit/data/AuditEventType.java  |   5 +-
 .../configs/AuthenticationProperties.java          |   4 +-
 .../infrastructure/configs/JwtProperties.java      |   4 +-
 .../configs/OAuth2AuthorizationServerConfig.java   | 366 ++++++++++++++
 ...operties.java => OAuth2ConsumerProperties.java} |  26 +-
 .../configs/RateLimitProperties.java               |  11 +-
 .../infrastructure/configs/SecurityConfig.java     |   5 +-
 .../configs/FineractClientProperties.java          |   4 +-
 .../kyc/service/ClientStandingChecker.java         |  46 ++
 .../data/OAuth2ConsentData.java}                   |  13 +-
 .../oauth2/data/OAuth2Constants.java               |  52 ++
 .../filter/OAuth2UserAuthenticationFilter.java     |  61 +++
 .../service/OAuth2AccessTokenCustomizer.java       |  99 ++++
 .../OAuth2ConsentAuthorizeRequestValidator.java    |  63 +++
 .../service/OAuth2ConsentDecisionCustomizer.java   |  86 ++++
 .../oauth2/service/OAuth2ConsentIdExtractor.java   |  54 ++
 .../service/OAuth2ConsentLookupPort.java}          |   8 +-
 .../service/OAuth2ConsentRecorderPort.java}        |  10 +-
 .../OAuth2RefreshTokenConsentValidator.java        |  72 +++
 .../api/OpenBankingConsentCommandController.java   |  57 +++
 .../OpenBankingUserConsentCommandController.java   |  48 ++
 .../command/data/ConsentStatus.java}               |  14 +-
 .../data/CreateOpenBankingConsentCommand.java}     |  11 +-
 .../CreateOpenBankingConsentCommandRequest.java}   |  14 +-
 .../data/OpenBankingConsentCommandData.java}       |  15 +-
 .../command/data/OpenBankingPermission.java}       |  29 +-
 .../command/domain/OpenBankingConsent.java         | 119 +++++
 .../domain/OpenBankingPermissionSetConverter.java  |  54 ++
 ...penBankingConsentCommandNotFoundException.java} |  17 +-
 .../OpenBankingConsentNotRevocableException.java}  |  17 +-
 ...nBankingConsentPermissionInvalidException.java} |  17 +-
 .../OpenBankingConsentCommandRepository.java}      |  10 +-
 .../service/OpenBankingConsentCommandService.java} |  18 +-
 .../OpenBankingConsentCommandServiceImpl.java      | 141 ++++++
 .../OpenBankingConsentRecorderAdapter.java}        |  21 +-
 .../api/OpenBankingConsentQueryController.java     |  49 ++
 .../query/api/OpenBankingQueryController.java      |  55 ++
 .../api/OpenBankingUserConsentQueryController.java |  46 ++
 .../query/data/ConsentStatus.java}                 |  14 +-
 .../query/data/OpenBankingAccountQueryData.java}   |  15 +-
 .../query/data/OpenBankingBalanceQueryData.java}   |  14 +-
 .../query/data/OpenBankingConsentQueryData.java}   |  18 +-
 .../query/data/OpenBankingPermission.java}         |  29 +-
 .../data/OpenBankingTppConsentQueryData.java}      |  16 +-
 .../data/OpenBankingUserConsentQueryData.java}     |  16 +-
 .../query/domain/OpenBankingAccountId.java         |  82 +++
 .../domain/OpenBankingConsentQueryEntity.java      |  90 ++++
 .../domain/OpenBankingPermissionSetConverter.java  |  54 ++
 .../OpenBankingAccountNotFoundException.java}      |  17 +-
 .../OpenBankingConsentInvalidException.java}       |  17 +-
 .../OpenBankingConsentQueryNotFoundException.java} |  17 +-
 .../OpenBankingConsentQueryRepository.java}        |  15 +-
 .../service/OpenBankingConsentLookupAdapter.java   |  46 ++
 .../service/OpenBankingConsentQueryService.java}   |  17 +-
 .../OpenBankingConsentQueryServiceImpl.java        | 106 ++++
 .../query/service/OpenBankingQueryService.java}    |  25 +-
 .../query/service/OpenBankingQueryServiceImpl.java | 179 +++++++
 .../service/PrincipalUserAuthLookupAdapter.java    |   5 +-
 .../query/service/PrincipalUserLookupAdapter.java  |   8 +-
 consumer/src/main/resources/application.properties |  18 +-
 .../changelog/audit/004-create-audit-events.yaml   |   2 +-
 .../authentication/002-create-refresh-tokens.yaml  |   2 +-
 .../beneficiaries/003-create-beneficiaries.yaml    |   2 +-
 .../db/changelog/db.changelog-master.yaml          |   4 +
 .../005-create-event-publication.yaml              |   2 +-
 .../007-create-oauth2-authorization.yaml           | 137 +++++
 .../006-create-open-banking-consents.yaml}         |  53 +-
 .../db/changelog/user/001-create-users-table.yaml  |   2 +-
 .../AuthenticationCommandServiceImplTest.java      |  75 ++-
 .../cucumber/clients/OpenBankingClient.java        | 189 +++++++
 .../cucumber/helpers/AuditEventPoller.java         |  75 +++
 .../consumer/cucumber/helpers/FineractSeeder.java  |  49 +-
 .../cucumber/helpers/RegistrationHelper.java       |   4 +-
 .../consumer/cucumber/steps/AuditSteps.java        |  52 +-
 .../consumer/cucumber/steps/LoginSteps.java        |  14 +
 .../consumer/cucumber/steps/OpenBankingSteps.java  | 562 +++++++++++++++++++++
 .../access/filter/RateLimitFilterTest.java         | 136 ++++-
 .../access/service/AccessPolicyEvaluatorTest.java  |   8 +
 .../OAuth2AuthorizationServerConfigTest.java       | 115 +++++
 .../kyc/service/ClientStandingCheckerTest.java     |  89 ++++
 .../service/OAuth2AccessTokenCustomizerTest.java   | 275 ++++++++++
 ...OAuth2ConsentAuthorizeRequestValidatorTest.java | 163 ++++++
 .../OAuth2ConsentDecisionCustomizerTest.java       | 177 +++++++
 .../OAuth2RefreshTokenConsentValidatorTest.java    | 201 ++++++++
 .../OpenBankingConsentCommandServiceImplTest.java  | 301 +++++++++++
 .../query/domain/OpenBankingAccountIdTest.java     |  86 ++++
 .../OpenBankingConsentLookupAdapterTest.java       | 117 +++++
 .../OpenBankingConsentQueryServiceImplTest.java    | 202 ++++++++
 .../service/OpenBankingQueryServiceImplTest.java   | 347 +++++++++++++
 .../service/PrincipalUserLookupAdapterTest.java    |  32 +-
 consumer/src/test/resources/features/login.feature |   6 +
 .../test/resources/features/openbanking.feature    | 120 +++++
 frontend/public/i18n/en.json                       |  37 +-
 frontend/public/i18n/hi.json                       |  37 +-
 frontend/src/app/app.routes.ts                     |   6 +
 frontend/src/app/core/audit/audit.service.ts       |   3 +-
 .../src/app/features/auth/login.component.spec.ts  |  49 ++
 frontend/src/app/features/auth/login.component.ts  |  18 +-
 .../app/features/consent/consent.component.spec.ts | 136 +++++
 .../src/app/features/consent/consent.component.ts  | 108 ++++
 .../src/app/features/profile/profile.component.ts  | 138 ++++-
 .../src/app/features/profile/profile.store.spec.ts |  62 +++
 frontend/src/app/features/profile/profile.store.ts |  22 +
 .../src/app/shared/css/badge.scss                  |  45 +-
 .../src/app/shared/ui/status-badge.component.ts    |  33 +-
 122 files changed, 6624 insertions(+), 460 deletions(-)

Reply via email to