From c131e94cb40cd018108d898366782176441d0feb Mon Sep 17 00:00:00 2001 From: Arnold Galovics Date: Tue, 30 Aug 2022 13:53:32 +0200 Subject: [PATCH] FINERACT-1694: Added more Avro schemas --- .../avro/loan/v1/DelinquencyBucketDataV1.avsc | 31 + ...anProductBorrowerCycleVariationDataV1.avsc | 56 ++ .../main/avro/loan/v1/LoanProductDataV1.avsc | 568 ++++++++++++++++++ .../loan/v1/LoanProductGuaranteeDataV1.avsc | 42 ++ ...oanProductInterestRecalculationDataV1.avsc | 133 ++++ .../v1/LoanTransactionAdjustmentDataV1.avsc | 21 + .../main/avro/portfolio/v1/RateDataV1.avsc | 42 ++ .../v1/RecurringDepositAccountDataV1.avsc | 384 ++++++++++++ .../avro/share/v1/ShareProductDataV1.avsc | 153 +++++ .../v1/ShareProductMarketPriceDataV1.avsc | 28 + 10 files changed, 1458 insertions(+) create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/DelinquencyBucketDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/LoanProductBorrowerCycleVariationDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/LoanProductDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/LoanProductGuaranteeDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/LoanProductInterestRecalculationDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionAdjustmentDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/portfolio/v1/RateDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/recurringdeposit/v1/RecurringDepositAccountDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/share/v1/ShareProductDataV1.avsc create mode 100644 fineract-avro-schemas/src/main/avro/share/v1/ShareProductMarketPriceDataV1.avsc diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/DelinquencyBucketDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/DelinquencyBucketDataV1.avsc new file mode 100644 index 000000000..4f7b5d117 --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/DelinquencyBucketDataV1.avsc @@ -0,0 +1,31 @@ +{ + "name": "DelinquencyBucketDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "name", + "type": [ + "null", + "string" + ] + }, + { + "name": "ranges", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.loan.v1.DelinquencyRangeDataV1" + } + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductBorrowerCycleVariationDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductBorrowerCycleVariationDataV1.avsc new file mode 100644 index 000000000..2c4190c5b --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductBorrowerCycleVariationDataV1.avsc @@ -0,0 +1,56 @@ +{ + "name": "LoanProductBorrowerCycleVariationDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "borrowerCycleNumber", + "type": [ + "null", + "int" + ] + }, + { + "name": "paramType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "valueConditionType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "minValue", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "maxValue", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "defaultValue", + "type": [ + "null", + "bigdecimal" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductDataV1.avsc new file mode 100644 index 000000000..6ca1d9bc9 --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductDataV1.avsc @@ -0,0 +1,568 @@ +{ + "name": "LoanProductDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "name", + "type": [ + "null", + "string" + ] + }, + { + "name": "shortName", + "type": [ + "null", + "string" + ] + }, + { + "name": "description", + "type": [ + "null", + "string" + ] + }, + { + "name": "fundId", + "type": [ + "null", + "long" + ] + }, + { + "name": "fundName", + "type": [ + "null", + "string" + ] + }, + { + "name": "includeInBorrowerCycle", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "useBorrowerCycle", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "startDate", + "type": [ + "null", + "string" + ] + }, + { + "name": "closeDate", + "type": [ + "null", + "string" + ] + }, + { + "name": "status", + "type": [ + "null", + "string" + ] + }, + { + "name": "externalId", + "type": [ + "null", + "string" + ] + }, + { + "name": "currency", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.CurrencyDataV1" + ] + }, + { + "name": "principal", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minPrincipal", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "maxPrincipal", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "numberOfRepayments", + "type": [ + "null", + "int" + ] + }, + { + "name": "minNumberOfRepayments", + "type": [ + "null", + "int" + ] + }, + { + "name": "maxNumberOfRepayments", + "type": [ + "null", + "int" + ] + }, + { + "name": "repaymentEvery", + "type": [ + "null", + "int" + ] + }, + { + "name": "repaymentFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestRatePerPeriod", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minInterestRatePerPeriod", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "maxInterestRatePerPeriod", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "interestRateFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "annualInterestRate", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "isLinkedToFloatingInterestRates", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "floatingRateId", + "type": [ + "null", + "long" + ] + }, + { + "name": "floatingRateName", + "type": [ + "null", + "string" + ] + }, + { + "name": "interestRateDifferential", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minDifferentialLendingRate", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "defaultDifferentialLendingRate", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "maxDifferentialLendingRate", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "isFloatingInterestRateCalculationAllowed", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "allowVariableInstallments", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "minimumGap", + "type": [ + "null", + "int" + ] + }, + { + "name": "maximumGap", + "type": [ + "null", + "int" + ] + }, + { + "name": "amortizationType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestCalculationPeriodType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "allowPartialPeriodInterestCalcualtion", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "inArrearsTolerance", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "transactionProcessingStrategyId", + "type": [ + "null", + "long" + ] + }, + { + "name": "transactionProcessingStrategyName", + "type": [ + "null", + "string" + ] + }, + { + "name": "graceOnPrincipalPayment", + "type": [ + "null", + "int" + ] + }, + { + "name": "recurringMoratoriumOnPrincipalPeriods", + "type": [ + "null", + "int" + ] + }, + { + "name": "graceOnInterestPayment", + "type": [ + "null", + "int" + ] + }, + { + "name": "graceOnInterestCharged", + "type": [ + "null", + "int" + ] + }, + { + "name": "graceOnArrearsAgeing", + "type": [ + "null", + "int" + ] + }, + { + "name": "overdueDaysForNPA", + "type": [ + "null", + "int" + ] + }, + { + "name": "daysInMonthType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "daysInYearType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "isInterestRecalculationEnabled", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "interestRecalculationData", + "type": [ + "null", + "org.apache.fineract.avro.loan.v1.LoanProductInterestRecalculationDataV1" + ] + }, + { + "name": "minimumDaysBetweenDisbursalAndFirstRepayment", + "type": [ + "null", + "int" + ] + }, + { + "name": "canDefineInstallmentAmount", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "installmentAmountInMultiplesOf", + "type": [ + "null", + "int" + ] + }, + { + "name": "charges", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.portfolio.v1.ChargeDataV1" + } + ] + }, + { + "name": "principalVariationsForBorrowerCycle", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.loan.v1.LoanProductBorrowerCycleVariationDataV1" + } + ] + }, + { + "name": "interestRateVariationsForBorrowerCycle", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.loan.v1.LoanProductBorrowerCycleVariationDataV1" + } + ] + }, + { + "name": "numberOfRepaymentVariationsForBorrowerCycle", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.loan.v1.LoanProductBorrowerCycleVariationDataV1" + } + ] + }, + { + "name": "isRatesEnabled", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "rates", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.portfolio.v1.RateDataV1" + } + ] + }, + { + "name": "multiDisburseLoan", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "maxTrancheCount", + "type": [ + "null", + "int" + ] + }, + { + "name": "outstandingLoanBalance", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "disallowExpectedDisbursements", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "allowApprovedDisbursedAmountsOverApplied", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "overAppliedCalculationType", + "type": [ + "null", + "string" + ] + }, + { + "name": "overAppliedNumber", + "type": [ + "null", + "int" + ] + }, + { + "name": "principalThresholdForLastInstallment", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "holdGuaranteeFunds", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "productGuaranteeData", + "type": [ + "null", + "org.apache.fineract.avro.loan.v1.LoanProductGuaranteeDataV1" + ] + }, + { + "name": "accountMovesOutOfNPAOnlyOnArrearsCompletion", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "syncExpectedWithDisbursementDate", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "isEqualAmortization", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "fixedPrincipalPercentagePerInstallment", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "delinquencyBucket", + "type": [ + "null", + "org.apache.fineract.avro.loan.v1.DelinquencyBucketDataV1" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductGuaranteeDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductGuaranteeDataV1.avsc new file mode 100644 index 000000000..1ef586202 --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductGuaranteeDataV1.avsc @@ -0,0 +1,42 @@ +{ + "name": "LoanProductGuaranteeDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "productId", + "type": [ + "null", + "long" + ] + }, + { + "name": "mandatoryGuarantee", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minimumGuaranteeFromOwnFunds", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minimumGuaranteeFromGuarantor", + "type": [ + "null", + "bigdecimal" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductInterestRecalculationDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductInterestRecalculationDataV1.avsc new file mode 100644 index 000000000..32444c921 --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanProductInterestRecalculationDataV1.avsc @@ -0,0 +1,133 @@ +{ + "name": "LoanProductInterestRecalculationDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "productId", + "type": [ + "null", + "long" + ] + }, + { + "name": "interestRecalculationCompoundingType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "rescheduleStrategyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationRestFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationRestFrequencyInterval", + "type": [ + "null", + "int" + ] + }, + { + "name": "recalculationRestFrequencyNthDay", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationRestFrequencyWeekday", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationRestFrequencyOnDay", + "type": [ + "null", + "int" + ] + }, + { + "name": "recalculationCompoundingFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationCompoundingFrequencyInterval", + "type": [ + "null", + "int" + ] + }, + { + "name": "recalculationCompoundingFrequencyNthDay", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationCompoundingFrequencyWeekday", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "recalculationCompoundingFrequencyOnDay", + "type": [ + "null", + "int" + ] + }, + { + "name": "isArrearsBasedOnOriginalSchedule", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "isCompoundingToBePostedAsTransaction", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "preClosureInterestCalculationStrategy", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "allowCompoundingOnEod", + "type": [ + "null", + "boolean" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionAdjustmentDataV1.avsc b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionAdjustmentDataV1.avsc new file mode 100644 index 000000000..d58630e8d --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionAdjustmentDataV1.avsc @@ -0,0 +1,21 @@ +{ + "name": "LoanTransactionAdjustmentDataV1", + "namespace": "org.apache.fineract.avro.loan.v1", + "type": "record", + "fields": [ + { + "name": "transactionToAdjust", + "type": [ + "null", + "org.apache.fineract.avro.loan.v1.LoanTransactionDataV1" + ] + }, + { + "name": "newTransactionDetail", + "type": [ + "null", + "org.apache.fineract.avro.loan.v1.LoanTransactionDataV1" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/portfolio/v1/RateDataV1.avsc b/fineract-avro-schemas/src/main/avro/portfolio/v1/RateDataV1.avsc new file mode 100644 index 000000000..37d8407df --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/portfolio/v1/RateDataV1.avsc @@ -0,0 +1,42 @@ +{ + "name": "RateDataV1", + "namespace": "org.apache.fineract.avro.portfolio.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "name", + "type": [ + "null", + "string" + ] + }, + { + "name": "percentage", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "productApply", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "active", + "type": [ + "null", + "boolean" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/recurringdeposit/v1/RecurringDepositAccountDataV1.avsc b/fineract-avro-schemas/src/main/avro/recurringdeposit/v1/RecurringDepositAccountDataV1.avsc new file mode 100644 index 000000000..0c359069c --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/recurringdeposit/v1/RecurringDepositAccountDataV1.avsc @@ -0,0 +1,384 @@ +{ + "name": "RecurringDepositAccountDataV1", + "namespace": "org.apache.fineract.avro.recurringdeposit.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "int" + ] + }, + { + "name": "accountNo", + "type": [ + "null", + "string" + ] + }, + { + "name": "externalId", + "type": [ + "null", + "string" + ] + }, + { + "name": "groupId", + "type": [ + "null", + "int" + ] + }, + { + "name": "groupName", + "type": [ + "null", + "string" + ] + }, + { + "name": "clientId", + "type": [ + "null", + "int" + ] + }, + { + "name": "clientName", + "type": [ + "null", + "string" + ] + }, + { + "name": "depositProductId", + "type": [ + "null", + "int" + ] + }, + { + "name": "depositProductName", + "type": [ + "null", + "string" + ] + }, + { + "name": "fieldOfficerId", + "type": [ + "null", + "int" + ] + }, + { + "name": "fieldOfficerName", + "type": [ + "null", + "string" + ] + }, + { + "name": "status", + "type": [ + "null", + "org.apache.fineract.avro.savings.v1.SavingsAccountStatusEnumDataV1" + ] + }, + { + "name": "timeline", + "type": [ + "null", + "org.apache.fineract.avro.savings.v1.SavingsAccountApplicationTimelineDataV1" + ] + }, + { + "name": "currency", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.CurrencyDataV1" + ] + }, + { + "name": "nominalAnnualInterestRate", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "interestCompoundingPeriodType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestPostingPeriodType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestCalculationType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "interestCalculationDaysInYearType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "minRequiredOpeningBalance", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "lockinPeriodFrequency", + "type": [ + "null", + "int" + ] + }, + { + "name": "lockinPeriodFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "withdrawalFeeForTransfers", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "depositType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "minBalanceForInterestCalculation", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "withHoldTax", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "summary", + "type": [ + "null", + "org.apache.fineract.avro.savings.v1.SavingsAccountSummaryDataV1" + ] + }, + { + "name": "transactions", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.savings.v1.SavingsAccountTransactionDataV1" + } + ] + }, + { + "name": "charges", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.savings.v1.SavingsAccountChargeDataV1" + } + ] + }, + { + "name": "preClosurePenalApplicable", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "preClosurePenalInterest", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "preClosurePenalInterestOnType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "minDepositTerm", + "type": [ + "null", + "int" + ] + }, + { + "name": "maxDepositTerm", + "type": [ + "null", + "int" + ] + }, + { + "name": "minDepositTermType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "maxDepositTermType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "inMultiplesOfDepositTerm", + "type": [ + "null", + "int" + ] + }, + { + "name": "inMultiplesOfDepositTermType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "depositAmount", + "type": [ + "null", + "float" + ] + }, + { + "name": "maturityAmount", + "type": [ + "null", + "float" + ] + }, + { + "name": "maturityDate", + "type": [ + "null", + "string" + ] + }, + { + "name": "depositPeriod", + "type": [ + "null", + "int" + ] + }, + { + "name": "depositPeriodFrequency", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "mandatoryRecommendedDepositAmount", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "totalOverdueAmount", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "noOfOverdueInstallments", + "type": [ + "null", + "int" + ] + }, + { + "name": "isMandatoryDeposit", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "allowWithdrawal", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "adjustAdvanceTowardsFuturePayments", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "expectedFirstDepositOnDate", + "type": [ + "null", + "string" + ] + }, + { + "name": "isCalendarInherited", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "recurringFrequency", + "type": [ + "null", + "int" + ] + }, + { + "name": "recurringFrequencyType", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/share/v1/ShareProductDataV1.avsc b/fineract-avro-schemas/src/main/avro/share/v1/ShareProductDataV1.avsc new file mode 100644 index 000000000..e31976afa --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/share/v1/ShareProductDataV1.avsc @@ -0,0 +1,153 @@ +{ + "name": "ShareProductDataV1", + "namespace": "org.apache.fineract.avro.share.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "name", + "type": [ + "null", + "string" + ] + }, + { + "name": "shortName", + "type": [ + "null", + "string" + ] + }, + { + "name": "description", + "type": [ + "null", + "string" + ] + }, + { + "name": "externalId", + "type": [ + "null", + "string" + ] + }, + { + "name": "currency", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.CurrencyDataV1" + ] + }, + { + "name": "totalShares", + "type": [ + "null", + "long" + ] + }, + { + "name": "totalSharesIssued", + "type": [ + "null", + "long" + ] + }, + { + "name": "unitPrice", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "shareCapital", + "type": [ + "null", + "bigdecimal" + ] + }, + { + "name": "minimumShares", + "type": [ + "null", + "long" + ] + }, + { + "name": "nominalShares", + "type": [ + "null", + "long" + ] + }, + { + "name": "maximumShares", + "type": [ + "null", + "long" + ] + }, + { + "name": "marketPrice", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.share.v1.ShareProductMarketPriceDataV1" + } + ] + }, + { + "name": "charges", + "type": [ + "null", + { + "type": "array", + "items": "org.apache.fineract.avro.portfolio.v1.ChargeDataV1" + } + ] + }, + { + "name": "allowDividendCalculationForInactiveClients", + "type": [ + "null", + "boolean" + ] + }, + { + "name": "lockinPeriod", + "type": [ + "null", + "int" + ] + }, + { + "name": "lockPeriodTypeEnum", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + }, + { + "name": "minimumActivePeriod", + "type": [ + "null", + "int" + ] + }, + { + "name": "minimumActivePeriodForDividendsTypeEnum", + "type": [ + "null", + "org.apache.fineract.avro.generic.v1.EnumOptionDataV1" + ] + } + ] +} diff --git a/fineract-avro-schemas/src/main/avro/share/v1/ShareProductMarketPriceDataV1.avsc b/fineract-avro-schemas/src/main/avro/share/v1/ShareProductMarketPriceDataV1.avsc new file mode 100644 index 000000000..2d6766302 --- /dev/null +++ b/fineract-avro-schemas/src/main/avro/share/v1/ShareProductMarketPriceDataV1.avsc @@ -0,0 +1,28 @@ +{ + "name": "ShareProductMarketPriceDataV1", + "namespace": "org.apache.fineract.avro.share.v1", + "type": "record", + "fields": [ + { + "name": "id", + "type": [ + "null", + "long" + ] + }, + { + "name": "fromDate", + "type": [ + "null", + "string" + ] + }, + { + "name": "shareValue", + "type": [ + "null", + "bigdecimal" + ] + } + ] +}