- Added accountTypeOptions and customerSegmentOptions fields to SavingsAccountData and RecurringDepositAccountData
- Added CodeValueReadPlatformService to SavingsAccountTemplateReadPlatformServiceImpl, CurrentAccountTemplateReadPlatformServiceImpl, and DepositAccountReadPlatformServiceImpl to fetch options from code values
- Added options to SAVINGS_ACCOUNT_RESPONSE_DATA_PARAMETERS and RD response parameters
- Updated SavingsConfiguration bean factory methods to pass new CodeValueReadPlatformService dependency
- Added validCheckSum for modified Liquibase changeset 0272
- Fixed AccountNumberGeneratorTest constructor to include GLAccountRepository and SavingsProductRepository
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Allow KYC updates on VERIFIED records with mandatory remarks for audit trail;
reset PAN verification when PAN number changes, moving status to IN_PROGRESS
- Fix client address duplicates: deactivate old addresses of same type on
create/update, persist isActive flag (missing save), filter reads by is_active
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Added mandatory unique CIF number (auto-generated as CIF+padded ID)
- Added Occupation Category dropdown (6 categories: Salaried, Business, Professional, Agriculture, Student, Others)
- Added Occupation dropdown (54 occupations mapped to categories)
- Both stored in m_code/m_code_value tables (same pattern as Gender)
- Visible in client create/update API and personal data view
- Includes Liquibase migrations 0227 & 0228
- Added Postman collection for User Management APIs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Includes all prior work not yet committed on this branch:
- KYC module (LincPay eKYC: PAN, Aadhaar OTP, GSTIN verification)
- Sanctions screening (UN Security Council consolidated list)
- RBI Feed integration with scheduled jobs
- OpenProject API integration
- Mobile lookup service
- Charge module enhancements (current account support)
- Client family member nominee fields
- Avro schema updates
- Liquibase migrations 0216-0224
- Postman collections for OpenProject, RBI Feeds, Sanctions
- SQL seed scripts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use current_schema instead of hardcoded 'public' in getTableIndexes()
and isTablePresent() methods to support multi-tenant PostgreSQL
deployments where datatables reside in tenant-specific schemas.
This fixes:
- GET /datatables returning 404 for new datatables
- Datatable save operations failing with 'Datatable not found'
Root cause: Index metadata queries were looking in 'public' schema
while table columns query correctly used current_schema, causing
inconsistent behavior in GenericDataServiceImpl.
Changes:
- PostgreSQLQueryService.getTableIndexes(): Use current_schema
- PostgreSQLQueryService.isTablePresent(): Use current_schema
Testing:
- All unit tests pass (93/93 in fineract-core)
- Manual PostgreSQL verification confirms fix works correctly