Introduced the ptrTrancode field to AccountToAccountDTO and GlToAccountDTO. Updated TransactionLogService to set the transaction code from the new ptrTrancode field instead of using an empty string.
Added NewPasswordException and updated UserService to throw this exception if the new password matches the current password. Introduced a new error code ERR_SEC_0007 for this scenario and added a matches method to PasswordEncryptionService for password comparison.
The LoggingFilter now checks for the 'SUS_USERCODE' header if the user ID is not found in previous headers. This improves compatibility with clients that use this header for user identification.
Replaced ERRCode.TRANSACTIONAMOUNT with ERRCode.MISMATCH_TRANSACTION_AMT to improve naming consistency and clarity in error handling for mismatched transaction amounts.
Introduced validation to ensure GL code and account number are not null or empty in transaction processing. Throws specific exceptions when required fields are missing to prevent invalid transactions.
Updated validation in TransactionService to throw exceptions if GL or account codes are null or empty, ensuring more robust input validation for GL-to-GL and account-to-account transactions.
Introduces a new SUPERADMIN role in the Role enum. Updates UserService to handle SUPERADMIN users by setting firstLogin to false upon creation and excluding SUPERADMIN users from the getAllUsers() result. Also removes some fields from the mapToResponseDTO method.
Updated the getAllUsers method to exclude users who are not active, in addition to excluding admin users. This ensures only active, non-admin users are returned.
Introduces a new transactionCode field to the TransactionLog entity and updates TransactionLogService to set this field when creating transaction logs. Also adds TRANSACTION_CODE constant to FieldNameLength for column definition.
Introduced a transactionUri field to TransactionLog and updated TransactionLogService methods to accept and store the URI. Refactored deposit approval endpoints in DepositAccountController to use new URIs and updated AconnectURI and TokenBypassURI constants accordingly for individual and business deposit approvals.
Introduced separate endpoints and service methods for approving individual and business CRM applications. Updated URI constants and token bypass lists to support business CRM approval. Also added endpoint to check individual CRM applications by workflow reference.
Introduced PendingLoanApplicationController and PendingLoanApplicationService classes as part of the client module. These provide the initial structure for handling pending loan application logic.
Renamed InProcessDepositApplicationsController to PendingDepositApplicationsController and updated references from InProcessDepositApplicationsService to PendingDepositApplicationsService to reflect the new naming convention.
Replaced InProcessApplicationsController with PendingCRMApplicationsController to handle individual and business pending CRM applications. Updated InProcessApplicationsService to separate logic for individual and business workflows, adding new methods for pending CRM retrieval. Adjusted AconnectURI and TokenBypassURI constants to support new endpoints.
Updated LoggingFilter to first check for 'userId' header, then fallback to 'X-USER-ID' if not present. Default userId is now set to 'NA' instead of 'ANONYMOUS' when no header is found.
Introduced a new /first-login endpoint in AuthenticationController to handle password changes on first login. Added corresponding constant in SecurityURI and implemented firstLogin method in UserService to update password and firstLogin status.
Added an isDeleted field to the User model and updated the deleteUser method in UserService to perform a soft delete by setting isDeleted to true and isActive to false. Updated UserRepository with methods to filter out deleted users and adjusted getAllUsers to exclude admin roles.
Introduced a new endpoint and service method for individual loan approval. Updated AconnectURI and TokenBypassURI to include the new approval URI, and implemented the approval logic in LoanAccountService and LoanAccountController.
Introduced checks to ensure credit and debit amounts are present and greater than zero in transaction-related methods. Returns appropriate error responses if validation fails, improving input validation and error handling.