From 045437fcb8eddc43fde049635a239cadb51e8210 Mon Sep 17 00:00:00 2001 From: Nitesh Yadav Date: Thu, 30 Apr 2026 13:51:19 +0530 Subject: [PATCH] rd account: add CBS fields to validator whitelist, make mandatoryRecommendedDepositAmount optional Co-Authored-By: Claude Sonnet 4.6 --- .../savings/DepositsApiConstants.java | 23 +++++++++++++++++++ .../data/DepositAccountDataValidator.java | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/DepositsApiConstants.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/DepositsApiConstants.java index 874f4a66a..b7fd6726c 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/DepositsApiConstants.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/DepositsApiConstants.java @@ -447,6 +447,29 @@ public final class DepositsApiConstants { recurringDepositRequestData.addAll(PRECLOSURE_REQUEST_DATA_PARAMETERS); recurringDepositRequestData.addAll(DEPOSIT_TERM_REQUEST_DATA_PARAMETERS); recurringDepositRequestData.addAll(RECURRING_DETAILS_REQUEST_DATA_PARAMETERS); + // CBS Account fields + recurringDepositRequestData.add("accountType"); + recurringDepositRequestData.add("customerSegment"); + recurringDepositRequestData.add(SavingsApiConstants.accountStatusParamName); + recurringDepositRequestData.add(SavingsApiConstants.modeOfOperationParamName); + recurringDepositRequestData.add(SavingsApiConstants.specialCategoryParamName); + recurringDepositRequestData.add(SavingsApiConstants.weakerSectionParamName); + recurringDepositRequestData.add(SavingsApiConstants.guardianNameParamName); + recurringDepositRequestData.add(SavingsApiConstants.guardianCifNumberParamName); + recurringDepositRequestData.add(SavingsApiConstants.guardianRelationshipParamName); + recurringDepositRequestData.add(SavingsApiConstants.guardianClientIdParamName); + recurringDepositRequestData.add(SavingsApiConstants.minorDateOfBirthParamName); + recurringDepositRequestData.add(SavingsApiConstants.introducerIdParamName); + recurringDepositRequestData.add(SavingsApiConstants.introducerNameParamName); + recurringDepositRequestData.add(SavingsApiConstants.introducerCifNumberParamName); + recurringDepositRequestData.add(SavingsApiConstants.nomineeParamName); + recurringDepositRequestData.add(SavingsApiConstants.linkedAccountIdParamName); + recurringDepositRequestData.add(SavingsApiConstants.linkedAccountTypeParamName); + recurringDepositRequestData.add(SavingsApiConstants.linkedAccountNoParamName); + recurringDepositRequestData.add(SavingsApiConstants.jointHoldersParamName); + recurringDepositRequestData.add(SavingsApiConstants.balanceSwapOptionParamName); + recurringDepositRequestData.add(SavingsApiConstants.msmeParamName); + recurringDepositRequestData.add(SavingsApiConstants.autoDebitFacilityParamName); return recurringDepositRequestData; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountDataValidator.java index 20a5a9d88..60901bc7d 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountDataValidator.java @@ -642,8 +642,8 @@ public class DepositAccountDataValidator { final BigDecimal mandatoryRecommendedDepositAmount = fromApiJsonHelper .extractBigDecimalWithLocaleNamed(mandatoryRecommendedDepositAmountParamName, element); - baseDataValidator.reset().parameter(mandatoryRecommendedDepositAmountParamName).value(mandatoryRecommendedDepositAmount).notNull() - .positiveAmount(); + baseDataValidator.reset().parameter(mandatoryRecommendedDepositAmountParamName).value(mandatoryRecommendedDepositAmount) + .ignoreIfNull().zeroOrPositiveAmount(); if (this.fromApiJsonHelper.parameterExists(isMandatoryDepositParamName, element)) { final Boolean isMandatoryDeposit = this.fromApiJsonHelper.extractBooleanNamed(isMandatoryDepositParamName, element);