Fix Supabase column serialization mapping (snake_case) for Person and PaymentRecord models to prevent resetting archived status during sync
Android Release / build (push) Canceled after 14s
Android Release / build (push) Canceled after 14s
This commit is contained in:
1 parent
b05c7c7521
commit
a3a8448ee5
2 files changed
+21
-17
No files matched your search
@@ -1,11 +1,13 @@
|
||||
@file:OptIn(kotlinx.serialization.InternalSerializationApi::class)
|
||||
@file:OptIn(InternalSerializationApi::class)
|
||||
|
||||
package com.oqba26.monthlypaymentapp.data.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import kotlinx.serialization.InternalSerializationApi
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
import java.util.UUID
|
||||
|
||||
@Serializable
|
||||
@@ -14,22 +16,22 @@ data class PaymentRecord(
|
||||
@PrimaryKey
|
||||
@SerialName("id") val id: String = UUID.randomUUID().toString(),
|
||||
|
||||
@SerialName("personId") val personId: String,
|
||||
@SerialName("person_id") val personId: String,
|
||||
|
||||
@SerialName("amount") val amount: Double,
|
||||
|
||||
@SerialName("shamsiYear") val shamsiYear: Int,
|
||||
@SerialName("shamsi_year") val shamsiYear: Int,
|
||||
|
||||
@SerialName("shamsiMonth") val shamsiMonth: Int,
|
||||
@SerialName("shamsi_month") val shamsiMonth: Int,
|
||||
|
||||
@SerialName("timestamp") val timestamp: Long = System.currentTimeMillis(),
|
||||
|
||||
@SerialName("description") val description: String? = "", // ⭐️ تغییر به String? برای پذیرش مقادیر null
|
||||
@SerialName("description") val description: String? = "",
|
||||
|
||||
@SerialName("createdAt") val createdAt: Long? = null,
|
||||
@SerialName("created_at") val createdAt: Long? = null,
|
||||
|
||||
@SerialName("category") val category: String = "salary",
|
||||
|
||||
@kotlinx.serialization.Transient
|
||||
@Transient
|
||||
val needsSync: Boolean = false
|
||||
)
|
||||
@@ -1,11 +1,13 @@
|
||||
@file:OptIn(kotlinx.serialization.InternalSerializationApi::class)
|
||||
@file:OptIn(InternalSerializationApi::class)
|
||||
|
||||
package com.oqba26.monthlypaymentapp.data.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import kotlinx.serialization.InternalSerializationApi
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
|
||||
@Serializable
|
||||
@Entity(tableName = "persons")
|
||||
@@ -15,24 +17,24 @@ data class Person(
|
||||
|
||||
@SerialName("name") val name: String,
|
||||
|
||||
@SerialName("isArchived") val isArchived: Boolean = false,
|
||||
@SerialName("is_archived") val isArchived: Boolean = false,
|
||||
|
||||
@SerialName("displayOrder") val displayOrder: Long? = 0L,
|
||||
@SerialName("display_order") val displayOrder: Long? = 0L,
|
||||
|
||||
@SerialName("createdAt") val createdAt: Long? = 0L,
|
||||
@SerialName("created_at") val createdAt: Long? = 0L,
|
||||
|
||||
@SerialName("phoneNumber") val phoneNumber: String? = "",
|
||||
@SerialName("phone_number") val phoneNumber: String? = "",
|
||||
|
||||
@SerialName("category") val category: String = "salary",
|
||||
|
||||
@SerialName("isAnonymous") val isAnonymous: Boolean = false,
|
||||
@SerialName("is_anonymous") val isAnonymous: Boolean = false,
|
||||
|
||||
@SerialName("monthlyCommitment") val monthlyCommitment: Double = 0.0,
|
||||
@SerialName("monthly_commitment") val monthlyCommitment: Double = 0.0,
|
||||
|
||||
@SerialName("startMonth") val startMonth: Int = 1,
|
||||
@SerialName("start_month") val startMonth: Int = 1,
|
||||
|
||||
@SerialName("startYear") val startYear: Int = 1403,
|
||||
@SerialName("start_year") val startYear: Int = 1403,
|
||||
|
||||
@kotlinx.serialization.Transient
|
||||
@Transient
|
||||
val needsSync: Boolean = false
|
||||
)
|
||||
Reference in new issue
Block a user