Commit Graph
24 Commits
Author SHA1 Message Date
niteshandClaude Sonnet 5 67214ec0f8 fix(clients): stale signature bug, CKYC fixes, monthly turnover/annual income, senior citizen/PWD classification
- Add m_client.signature_id (single-slot pointer, mirrors image_id) plus
  ClientSignatureIdAdapter/EntitySignatureIdAdapter so re-uploading a signature updates the
  existing m_document row in place instead of leaving duplicate rows behind that readers picked
  inconsistently.
- Fix CkycBatchBuilderServiceImpl address-proof classification to read the client identifier's
  actual m_code (KYCAddressProofType vs KYCIdProofType) instead of a hardcoded string set that
  disagreed with the CKYC tab and silently dropped Aadhaar-as-address-proof identifiers.
- Organize the CKYC ZIP into per-artefact-type folders (PHOTO/SIGNATURE/ID_PROOF/ADDRESS_PROOF).
- Fix CkycBatchBuilderServiceImpl.createBatch() using the daily batch sequence number as the ZIP
  document's parent_entity_id instead of the real m_ckyc_batch.id, which 404'd on download
  whenever the two diverged (i.e. almost always).
- Add monthlyTurnover and annualIncome fields alongside the existing annualTurnover/monthlyIncome.
- Add isSeniorCitizen, isPwd, and pwdCategory (proper m_code_value-backed PwdCategory code, not a
  free-text column) to m_client, following the same pattern as occupation/religion/marital status.
- Add Diploma as its own Education Level (with diploma-specific DegreeQualification values) and
  Graduate as a level distinct from Undergraduate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28 10:50:16 +05:30
AdityaandClaude Opus 4.7 5e3212dc54 Add MFA backend: SMS/email OTP, factor management, OTP audit log
- Login 2FA via @Primary MfaFactorBackedTwoFactorServiceImpl (replaces legacy)
- LincPay SMS OTP and SMTP email OTP with auto-promote to m_user_mfa_factor
- Reusable EmailSenderService + EmailTemplateService (CBSnexora branding)
- Admin OTP audit viewer (GET /v1/otp-logs) with paging, search, masking
- Self-service MFA factor API at /v1/mfa/factors
- READ_OTP_LOG permission + OTP Log Auditor role + bankadmin direct grant
- JsonAuthenticationEntryPoint suppresses Basic-auth popup for SPA paths
- TwoFactorAuthenticationFilter grants TWOFACTOR_AUTHENTICATED when no challenge
- Soft-delete + audit columns + deletion audit + version on client tables
- CIF number generator (TTYYYYNNNNNN format)
- DocumentNotFoundExceptionMapper to silence noisy WARN logs on missing images
- Liquibase migrations 0278-0291 (MFA, OTP log, audit/soft-delete, role wiring)

Note: application.properties intentionally not committed — contains local DB
and Gmail App Password fallbacks. Set SPRING_MAIL_PASSWORD,
FINERACT_DEFAULT_TENANTDB_PWD, FINERACT_HIKARI_PASSWORD as env vars in prod.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 13:19:10 +05:30
Attila BudaiandAdam Saghy 2047553366 FINERACT-2081: add api verification workflow 2026-02-23 15:43:14 +00:00
airajenaandAdam Saghy 296cf902b9 FINERACT-1878: Separate profile image paths for staff and clients 2026-02-19 11:25:22 +00:00
Aleksandar VidakovicandGitHub 3a842ecb9a FINERACT-2243: New command processing - payment type (#5506) 2026-02-18 08:19:29 -06:00
Aleksandar VidakovicandAleksandar Vidakovic 2ff0c62f40 FINERACT-2246: New command processing - document management 2026-02-16 14:56:40 +01:00
Aman-MittalandAdam Saghy d1e456ef43 FINERACT-2421: Refractor redundant and some deprecated code as per new Java 21 style (Phase 4) 2026-01-08 22:32:39 +01:00
Aman-MittalandAdam Saghy 0ba1745443 FINERACT-2421: Refractor redundant and some deprecated code as per new Java 21 style (Phase 3) 2025-12-26 19:27:38 +01:00
Aman-MittalandAdam Saghy 00e9ac8320 FINERACT-2346: Refractor, Minor Sonar fixes and remove some deprecated code 2025-12-01 19:11:59 +01:00
Adam Saghy db28259b1a FINERACT-2181: Gradle task rework - Optimized weaving across all modules 2025-06-22 22:41:34 +02:00
Arnold GalovicsandArnold Gálovics a76c189a04 Revert "FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing"
This reverts commit 6cb60f48
2025-06-20 21:53:28 +02:00
Arnold GalovicsandArnold Gálovics 1ebfad230c Revert "FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing"
This reverts commit 11cecb0d45.
2025-06-20 21:53:28 +02:00
Arnold GalovicsandArnold Gálovics d46ab4e73e Revert "FINERACT-2181: Make 'staticWeaveJPA' gradle task cacheable"
This reverts commit dd2c29fb91.
2025-06-20 21:53:28 +02:00
Adam SaghyandArnold Gálovics dd2c29fb91 FINERACT-2181: Make 'staticWeaveJPA' gradle task cacheable 2025-06-19 07:12:59 +02:00
Adam SaghyandArnold Gálovics 11cecb0d45 FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing 2025-06-18 15:54:00 +02:00
Abhinav CillankiandAdam Saghy 159eff0ad4 FINERACT-2309: Emit external events on document upload and delete 2025-06-18 12:20:36 +02:00
Adam Saghy 6cb60f48fc FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing 2025-05-25 22:12:22 +02:00
Adam Saghy ecac6d2153 FINERACT-2181: Format enums 2025-05-22 17:13:49 +02:00
viktorpavlenkoandAdam Saghy ef47989656 FINERACT-2169: Refactor image api resource; 2025-03-19 12:27:05 +01:00
viktorpavlenkoandAdam Saghy ac8f62db51 FINERACT-2169: Refactor document management api and update swagger doc; 2025-03-19 12:26:37 +01:00
Marta JankovicsandAdam Saghy f48f94c454 FINERACT-2091: Support for string type primary keys 2024-06-13 20:29:23 +02:00
Jose Alberto HernandezandAdam Saghy a3fb836b73 FINERACT-1932: Fineract modularization - fineract-charge 2024-05-21 22:53:36 +02:00
Jose Alberto HernandezandAdam Saghy e13a9cba01 FINERACT-2073: Client search v2 using Client Identifiers 2024-05-21 11:32:15 +02:00
Jose Alberto HernandezandAdam Saghy 2b9e114c05 FINERACT-1932: Fineract modularization - fineract-document 2024-04-19 15:32:04 +02:00