This commit is contained in:
MehraB832 2024-03-18 22:54:04 +03:30
parent 811d467fca
commit 6a0d3951d1

View File

@ -7,14 +7,14 @@ import kotlinx.serialization.SerializationException
import kotlinx.serialization.json.* import kotlinx.serialization.json.*
@Serializable(with = BackupSerializer::class) @Serializable(with = BackupSerializer::class)
sealed class MessagesBackup() { sealed class MessagesBackup {
@SerialName("backupType") @SerialName("backupType")
abstract val backupType: BackupType abstract val backupType: BackupType
} }
object BackupSerializer : object BackupSerializer :
JsonContentPolymorphicSerializer<MessagesBackup>(MessagesBackup::class) { JsonContentPolymorphicSerializer<MessagesBackup>(MessagesBackup::class) {
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out MessagesBackup> { override fun selectDeserializer(element: JsonElement): DeserializationStrategy<MessagesBackup> {
return when (element.jsonObject["backupType"]?.jsonPrimitive?.content) { return when (element.jsonObject["backupType"]?.jsonPrimitive?.content) {
"sms" -> SmsBackup.serializer() "sms" -> SmsBackup.serializer()
"mms" -> MmsBackup.serializer() "mms" -> MmsBackup.serializer()