24 lines
858 B
Kotlin
24 lines
858 B
Kotlin
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
|
|
|
import dev.inmo.micro_utils.crypto.SourceBytes
|
|
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
|
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
|
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
|
import kotlinx.serialization.Serializable
|
|
import kotlinx.serialization.json.JsonObject
|
|
|
|
typealias PassportElementHash = SourceBytes
|
|
|
|
@Serializable(EncryptedElementSerializer::class)
|
|
@ClassCastsIncluded
|
|
interface EncryptedPassportElement {
|
|
val hash: PassportElementHash
|
|
}
|
|
|
|
@Serializable(EncryptedElementSerializer::class)
|
|
data class UnknownEncryptedPassportElement(
|
|
val rawJson: JsonObject,
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElement
|