- [x] Add `loan_id` as indexed field on the `m_external_asset_owner_transfer`
- [x] Add `job_execution_id` as indexed field on the `batch_job_execution_params` table
- [x] m_loan_product_payment_allocation_rule table created
- [x] m_loan_payment_allocation_rule table created
- [x] LoanProductPaymentAllocationRule entity
- [x] LoanPaymentAllocationRule entity
- [x] List of enum converter to String converter to use `AllocationType` list
- [x] Add effectiveTo filter to decide which transaction is not cancelled or already closed
- [x] Integration test
- [x] Database change log for UQ key status + externalTransferId
- [x] Liquibase database model
- [x] JPA model
- [x] API endpoint without implementation
- [x] API endpoint requirements
- [x] Json Serialization and Deserialization and dependencies
- [x] New Authentication check interface to the core level
- [x] CommandWrapperBuilder and dependencies
- [x] Create fineract-investor module for build
- [x] modify tenant liquibase loader to using module based liquibase processing
- [x] sample liquibase into the fineract-investor module
- [x] Move NewCommandSourceHandler and dependencies to the fineract-core
- [x] New read only properties and environment variables
- [x] Run only when read only password, read only username and schema name is null
- [x] Update and encrypt the password
- [x] Doc properties update
- [x] ReloadService for lead entities
- [x] ReloaderService iterating over ReloadService and try to find and reload the entity
- [x] Fix COBBusinessStepServiceImpl to reload the entity before business step
- [x] S3 export function
- [x] list all available export type services
- [x] refactor export service
- [x] unit test for export name generator
- [x] s3 integration test
- [x] localstack integration for testing
[x] - Remove bulk transaction from ReplayedTransactionBusinessEventService
[x] - Create Aspect and custom annotation for CommandHandler and Tasklet bulk events
[x] - Add @BulkEventSupport annotation where ReplayedTransactionBusinessEventService was used
[x] - Test class for Aspect call failure handling
- [x] Batch api support for idempotency
- [x] BatchFilter for generic batch filtering
- [x] LoanCOBApiFilter extend with BatchFilter support
- [x] FineractRequestContextHolder generic context holder with batch and http request supports
- [x] Idempotency write move to filters
- [x] Idempotency integration test with success and failure
- [x] Added response status code to database
- [x] SynchronousCommandProcessingService not generate the command, just marked to the filter
- [x] IdempotencyStoreFilter store the command request if available.
- [x] Removed JpaExceptionHandler.java
- [x] Refactoring ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl
- [x] Fix NPE and test added to ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest
FINERACT-1724
[x] Unit test for ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl
[x] Integration test for CreditBureau with WireMock
[x] Fix enum key case sensitivity on postgres
[x] Fix update key typo
[x] Add missing credit bureau organization fix for test cases