tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement.kt

24 lines
858 B
Kotlin
Raw Normal View History

package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
2021-01-28 10:03:30 +00:00
import dev.inmo.micro_utils.crypto.SourceBytes
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
2022-08-05 18:39:46 +00:00
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonObject
2021-01-28 10:03:30 +00:00
typealias PassportElementHash = SourceBytes
@Serializable(EncryptedElementSerializer::class)
2022-08-05 10:31:39 +00:00
@ClassCastsIncluded
interface EncryptedPassportElement {
2021-01-28 10:03:30 +00:00
val hash: PassportElementHash
}
@Serializable(EncryptedElementSerializer::class)
data class UnknownEncryptedPassportElement(
val rawJson: JsonObject,
2021-01-28 10:03:30 +00:00
@Serializable(Base64BytesToFromStringSerializer::class)
override val hash: PassportElementHash
) : EncryptedPassportElement