diff --git a/core/database/schemas/com.mifos.room.db.MifosDatabase/1.json b/core/database/schemas/com.mifos.room.db.MifosDatabase/1.json index 8ecffce1eb..f768669443 100644 --- a/core/database/schemas/com.mifos.room.db.MifosDatabase/1.json +++ b/core/database/schemas/com.mifos.room.db.MifosDatabase/1.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 1, - "identityHash": "4e8e4598d16a3d4b03fdf53aa320cf8b", + "identityHash": "be50121d7afe08c6200f3cea98d17b8a", "entities": [ { "tableName": "ColumnValue", @@ -695,7 +695,7 @@ }, { "tableName": "PaymentTypeOption", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `description` TEXT, `is_cash_payment` INTEGER, `position` INTEGER, PRIMARY KEY(`id`))", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `description` TEXT, `isCashPayment` INTEGER, `position` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", @@ -716,7 +716,7 @@ }, { "fieldPath": "isCashPayment", - "columnName": "is_cash_payment", + "columnName": "isCashPayment", "affinity": "INTEGER" }, { @@ -1172,7 +1172,7 @@ ], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '4e8e4598d16a3d4b03fdf53aa320cf8b')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'be50121d7afe08c6200f3cea98d17b8a')" ] } } \ No newline at end of file diff --git a/core/database/src/main/java/com/mifos/room/entities/PaymentTypeOption.kt b/core/database/src/main/java/com/mifos/room/entities/PaymentTypeOption.kt index a82a9ab4ae..ed4222fd7f 100644 --- a/core/database/src/main/java/com/mifos/room/entities/PaymentTypeOption.kt +++ b/core/database/src/main/java/com/mifos/room/entities/PaymentTypeOption.kt @@ -11,38 +11,27 @@ package com.mifos.room.entities import android.os.Parcel import android.os.Parcelable -import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey -import com.google.gson.annotations.SerializedName import com.mifos.core.model.MifosBaseModel @Entity(tableName = "PaymentTypeOption") data class PaymentTypeOption( - @SerializedName("id") @PrimaryKey - @ColumnInfo(name = "id") val id: Int = 0, - @SerializedName("name") - @ColumnInfo(name = "name") val name: String = "", - @SerializedName("description") - @ColumnInfo(name = "description") val description: String? = null, - @SerializedName("isCashPayment") - @ColumnInfo(name = "is_cash_payment") val isCashPayment: Boolean? = null, - @SerializedName("position") - @ColumnInfo(name = "position") val position: Int? = null, + ) : MifosBaseModel(), Comparable, Parcelable { - override fun compareTo(another: PaymentTypeOption): Int { - return position?.compareTo(another.position ?: 0) ?: 0 + override fun compareTo(other: PaymentTypeOption): Int { + return position?.compareTo(other.position ?: 0) ?: 0 } override fun toString(): String { diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/ActualDisbursementDate.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/ActualDisbursementDate.kt index 6067d30f80..df5cab4fc0 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/ActualDisbursementDate.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/ActualDisbursementDate.kt @@ -10,7 +10,6 @@ package com.mifos.room.entities.accounts.loans import android.os.Parcelable -import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey import kotlinx.parcelize.Parcelize @@ -20,13 +19,7 @@ import kotlinx.parcelize.Parcelize data class ActualDisbursementDate( @PrimaryKey val loanId: Int? = null, - - @ColumnInfo(name = "year") val year: Int? = null, - - @ColumnInfo(name = "month") val month: Int? = null, - - @ColumnInfo(name = "date") val date: Int? = null, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Loan.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Loan.kt index 71530ced3b..246abf8481 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Loan.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Loan.kt @@ -102,7 +102,7 @@ data class Loan( val isNPA: Boolean? = null, - val overdueCharges: List = ArrayList(), + val overdueCharges: List = emptyList(), - private val additionalProperties: MutableMap = HashMap(), + private val additionalProperties: MutableMap = mutableMapOf(), ) diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanAccount.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanAccount.kt index 5e02b6d55c..d4dda2049d 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanAccount.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanAccount.kt @@ -34,36 +34,27 @@ data class LoanAccount( @PrimaryKey val id: Int? = null, - @ColumnInfo(name = "clientId") val clientId: Long = 0, - @ColumnInfo(name = "groupId") val groupId: Long = 0, - @ColumnInfo(name = "centerId") val centerId: Long = 0, - @ColumnInfo(name = "accountNo") val accountNo: String? = null, - @ColumnInfo(name = "externalId") val externalId: String? = null, - @ColumnInfo(name = "productId") val productId: Int? = null, - @ColumnInfo(name = "productName") val productName: String? = null, - @ColumnInfo(name = "status", index = true) + @ColumnInfo(index = true) val status: Status? = null, - @ColumnInfo(name = "loanType", index = true) + @ColumnInfo(index = true) val loanType: LoanType? = null, - @ColumnInfo(name = "loanCycle") val loanCycle: Int? = null, - @ColumnInfo(name = "inArrears") val inArrears: Boolean? = null, ) diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanType.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanType.kt index 64d0752472..ba766066a9 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanType.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanType.kt @@ -10,7 +10,6 @@ package com.mifos.room.entities.accounts.loans import android.os.Parcelable -import androidx.room.ColumnInfo import androidx.room.Entity import kotlinx.parcelize.Parcelize import kotlinx.serialization.Serializable @@ -19,12 +18,7 @@ import kotlinx.serialization.Serializable @Serializable @Parcelize data class LoanType( - val id: Int? = null, - - @ColumnInfo("code") val code: String? = null, - - @ColumnInfo("value") val value: String? = null, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanWithAssociations.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanWithAssociations.kt index 4c8f31c67b..ba3d4a7973 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanWithAssociations.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/LoanWithAssociations.kt @@ -68,46 +68,33 @@ data class LoanWithAssociations( @PrimaryKey(autoGenerate = true) val id: Int = 0, - @ColumnInfo(name = "accountNo") val accountNo: String = "", - @ColumnInfo(name = "status", index = true) + @ColumnInfo(index = true) val status: Status = Status(), - @ColumnInfo(name = "clientId") val clientId: Int = 0, - @ColumnInfo(name = "clientName") val clientName: String = "", - @ColumnInfo(name = "clientOfficeId") val clientOfficeId: Int = 0, - @ColumnInfo(name = "loanProductId") val loanProductId: Int = 0, - @ColumnInfo(name = "loanProductName") val loanProductName: String = "", - @ColumnInfo(name = "loanProductDescription") val loanProductDescription: String = "", - @ColumnInfo(name = "fundId") val fundId: Int = 0, - @ColumnInfo(name = "fundName") val fundName: String = "", - @ColumnInfo(name = "loanPurposeId") val loanPurposeId: Int = 0, - @ColumnInfo(name = "loanPurposeName") val loanPurposeName: String = "", - @ColumnInfo(name = "loanOfficerId") val loanOfficerId: Int = 0, - @ColumnInfo(name = "loanOfficerName") val loanOfficerName: String = "", @Embedded(prefix = "LoanType_") @@ -116,34 +103,27 @@ data class LoanWithAssociations( @Embedded(prefix = "Currency_") val currency: Currency = Currency(), - @ColumnInfo(name = "principal") val principal: Double = 0.0, - @ColumnInfo(name = "approvedPrincipal") val approvedPrincipal: Double = 0.0, - @ColumnInfo(name = "termFrequency") val termFrequency: Int = 0, @Embedded(prefix = "termPeriodFrequencyType_") val termPeriodFrequencyType: TermPeriodFrequencyType = TermPeriodFrequencyType(), - @ColumnInfo(name = "numberOfRepayments") val numberOfRepayments: Int = 0, - @ColumnInfo(name = "repaymentEvery") val repaymentEvery: Int = 0, @Embedded(prefix = "repaymentFrequencyType_") val repaymentFrequencyType: RepaymentFrequencyType = RepaymentFrequencyType(), - @ColumnInfo(name = "interestRatePerPeriod") val interestRatePerPeriod: Double = 0.0, @Embedded(prefix = "interestRateFrequencyType_") val interestRateFrequencyType: InterestRateFrequencyType = InterestRateFrequencyType(), - @ColumnInfo(name = "annualInterestRate") val annualInterestRate: Double = 0.0, @Embedded(prefix = "amortization_type_") @@ -155,48 +135,36 @@ data class LoanWithAssociations( @Embedded(prefix = "interestCalculationPeriodType_") val interestCalculationPeriodType: InterestCalculationPeriodType = InterestCalculationPeriodType(), - @ColumnInfo(name = "transactionProcessingStrategyId") val transactionProcessingStrategyId: Int = 0, - @ColumnInfo(name = "transactionProcessingStrategyName") val transactionProcessingStrategyName: String = "", - @ColumnInfo(name = "syncDisbursementWithMeeting") val syncDisbursementWithMeeting: Boolean = false, - @ColumnInfo(name = "timeline", index = true) + @ColumnInfo(index = true) val timeline: Timeline = Timeline(), - @ColumnInfo(name = "summary", index = true) + @ColumnInfo(index = true) val summary: Summary = Summary(), @Embedded(prefix = "repaymentSchedule_") val repaymentSchedule: RepaymentSchedule = RepaymentSchedule(), - @ColumnInfo(name = "transactions") - val transactions: List = ArrayList(), + val transactions: List = emptyList(), - @ColumnInfo(name = "feeChargesAtDisbursementCharged") val feeChargesAtDisbursementCharged: Double = 0.0, - @ColumnInfo(name = "totalOverpaid") val totalOverpaid: Double = 0.0, - @ColumnInfo(name = "loanCounter") val loanCounter: Int = 0, - @ColumnInfo(name = "loanProductCounter") val loanProductCounter: Int = 0, - @ColumnInfo(name = "multiDisburseLoan") val multiDisburseLoan: Boolean = false, - @ColumnInfo(name = "canDisburse") val canDisburse: Boolean = false, - @ColumnInfo(name = "inArrears") val inArrears: Boolean = false, - @ColumnInfo(name = "isNPA") val isNPA: Boolean = false, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Status.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Status.kt index 76fa650331..a0d4a368ab 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Status.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Status.kt @@ -10,7 +10,6 @@ package com.mifos.room.entities.accounts.loans import android.os.Parcelable -import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey import kotlinx.parcelize.Parcelize @@ -23,33 +22,23 @@ data class Status( @PrimaryKey val id: Int? = null, - @ColumnInfo(name = "code") val code: String? = null, - @ColumnInfo(name = "value") val value: String? = null, - @ColumnInfo(name = "pendingApproval") val pendingApproval: Boolean? = null, - @ColumnInfo(name = "waitingForDisbursal") val waitingForDisbursal: Boolean? = null, - @ColumnInfo(name = "active") val active: Boolean? = null, - @ColumnInfo(name = "closedObligationsMet") val closedObligationsMet: Boolean? = null, - @ColumnInfo(name = "closedWrittenOff") val closedWrittenOff: Boolean? = null, - @ColumnInfo(name = "closedRescheduled") val closedRescheduled: Boolean? = null, - @ColumnInfo(name = "closed") val closed: Boolean? = null, - @ColumnInfo(name = "overpaid") val overpaid: Boolean? = null, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Timeline.kt b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Timeline.kt index 37e969ccc8..4867a02a97 100644 --- a/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Timeline.kt +++ b/core/database/src/main/java/com/mifos/room/entities/accounts/loans/Timeline.kt @@ -36,53 +36,38 @@ data class Timeline( @Transient val loanId: Int? = null, - @ColumnInfo(name = "submittedOnDate") val submittedOnDate: List? = null, - @ColumnInfo(name = "submittedByUsername") val submittedByUsername: String? = null, - @ColumnInfo(name = "submittedByFirstname") val submittedByFirstname: String? = null, - @ColumnInfo(name = "submittedByLastname") val submittedByLastname: String? = null, - @ColumnInfo(name = "approvedOnDate") val approvedOnDate: List? = null, - @ColumnInfo(name = "approvedByUsername") val approvedByUsername: String? = null, - @ColumnInfo(name = "approvedByFirstname") val approvedByFirstname: String? = null, - @ColumnInfo(name = "approvedByLastname") val approvedByLastname: String? = null, - @ColumnInfo(name = "expectedDisbursementDate") val expectedDisbursementDate: List? = null, // todo check if its int - @ColumnInfo(name = "actualDisburseDate", index = true) + @ColumnInfo(index = true) @Transient val actualDisburseDate: ActualDisbursementDate? = null, - @ColumnInfo(name = "actualDisbursementDate") val actualDisbursementDate: List? = null, - @ColumnInfo(name = "disbursedByUsername") val disbursedByUsername: String? = null, - @ColumnInfo(name = "disbursedByFirstname") val disbursedByFirstname: String? = null, - @ColumnInfo(name = "disbursedByLastname") val disbursedByLastname: String? = null, - @ColumnInfo(name = "closedOnDate") val closedOnDate: List? = null, - @ColumnInfo(name = "expectedMaturityDate") val expectedMaturityDate: List? = null, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanRepaymentTemplate.kt b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanRepaymentTemplate.kt index 9d2c1f180c..f3b6945a56 100644 --- a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanRepaymentTemplate.kt +++ b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanRepaymentTemplate.kt @@ -10,7 +10,6 @@ package com.mifos.room.entities.templates.loans import android.os.Parcelable -import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey import com.mifos.core.objects.template.loan.Currency @@ -22,33 +21,23 @@ import kotlinx.parcelize.Parcelize @Entity(tableName = "LoanRepaymentTemplate") data class LoanRepaymentTemplate( @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = "loanId") val loanId: Int? = null, - @ColumnInfo(name = "type") val type: Type? = null, - @ColumnInfo(name = "date") val date: MutableList? = null, - @ColumnInfo(name = "currency") val currency: Currency? = null, - @ColumnInfo(name = "amount") val amount: Double? = null, - @ColumnInfo(name = "principalPortion") val principalPortion: Double? = null, - @ColumnInfo(name = "interestPortion") val interestPortion: Double? = null, - @ColumnInfo(name = "feeChargesPortion") val feeChargesPortion: Double? = null, - @ColumnInfo(name = "penaltyChargesPortion") val penaltyChargesPortion: Double? = null, - @ColumnInfo(name = "paymentTypeOptions") val paymentTypeOptions: MutableList? = null, ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTemplate.kt b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTemplate.kt index 4aa83c3caa..c84a4ab932 100644 --- a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTemplate.kt +++ b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTemplate.kt @@ -102,37 +102,37 @@ data class LoanTemplate( val timeline: Timeline? = null, - val productOptions: List = ArrayList(), + val productOptions: List = emptyList(), val dataTables: ArrayList = ArrayList(), - val loanOfficerOptions: List = ArrayList(), + val loanOfficerOptions: List = emptyList(), - val loanPurposeOptions: List = ArrayList(), + val loanPurposeOptions: List = emptyList(), - val fundOptions: List = ArrayList(), + val fundOptions: List = emptyList(), - val termFrequencyTypeOptions: List = ArrayList(), + val termFrequencyTypeOptions: List = emptyList(), - val repaymentFrequencyTypeOptions: List = ArrayList(), + val repaymentFrequencyTypeOptions: List = emptyList(), - val repaymentFrequencyNthDayTypeOptions: List = ArrayList(), + val repaymentFrequencyNthDayTypeOptions: List = emptyList(), - val repaymentFrequencyDaysOfWeekTypeOptions: List = ArrayList(), + val repaymentFrequencyDaysOfWeekTypeOptions: List = emptyList(), - val interestRateFrequencyTypeOptions: List = ArrayList(), + val interestRateFrequencyTypeOptions: List = emptyList(), - val amortizationTypeOptions: List = ArrayList(), + val amortizationTypeOptions: List = emptyList(), - val interestTypeOptions: List = ArrayList(), + val interestTypeOptions: List = emptyList(), - val interestCalculationPeriodTypeOptions: List = ArrayList(), + val interestCalculationPeriodTypeOptions: List = emptyList(), - val transactionProcessingStrategyOptions: List = ArrayList(), + val transactionProcessingStrategyOptions: List = emptyList(), - val chargeOptions: List = ArrayList(), + val chargeOptions: List = emptyList(), - val loanCollateralOptions: List = ArrayList(), + val loanCollateralOptions: List = emptyList(), val multiDisburseLoan: Boolean? = null, @@ -154,5 +154,5 @@ data class LoanTemplate( val maximumGap: Int? = null, - val accountLinkingOptions: List = ArrayList(), + val accountLinkingOptions: List = emptyList(), ) : Parcelable diff --git a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTransactionTemplate.kt b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTransactionTemplate.kt index 20e3c106dd..375edb00c5 100644 --- a/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTransactionTemplate.kt +++ b/core/database/src/main/java/com/mifos/room/entities/templates/loans/LoanTransactionTemplate.kt @@ -21,13 +21,13 @@ import kotlinx.parcelize.Parcelize data class LoanTransactionTemplate( val type: Type? = null, - val date: List = ArrayList(), + val date: List = emptyList(), val amount: Double? = null, val manuallyReversed: Boolean? = null, - val possibleNextRepaymentDate: List = ArrayList(), + val possibleNextRepaymentDate: List = emptyList(), - val paymentTypeOptions: List = ArrayList(), + val paymentTypeOptions: List = emptyList(), ) : Parcelable diff --git a/core/model/build.gradle.kts b/core/model/build.gradle.kts index 47c3349eab..2b5c3398d7 100644 --- a/core/model/build.gradle.kts +++ b/core/model/build.gradle.kts @@ -12,7 +12,6 @@ plugins { alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.serialization) id(libs.plugins.kotlin.parcelize.get().pluginId) - id("kotlinx-serialization") } android{ namespace = "com.mifos.core.model"