2021-01-28 11:08:25 +00:00
|
|
|
package dev.inmo.tgbotapi.types.passport.encrypted
|
2021-01-14 08:03:25 +00:00
|
|
|
|
2021-01-28 10:03:30 +00:00
|
|
|
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
2021-01-14 08:03:25 +00:00
|
|
|
import dev.inmo.tgbotapi.types.*
|
2022-04-17 12:15:24 +00:00
|
|
|
import dev.inmo.tgbotapi.types.files.PassportFile
|
2021-01-28 11:08:25 +00:00
|
|
|
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
|
|
|
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
2021-01-14 08:03:25 +00:00
|
|
|
import kotlinx.serialization.SerialName
|
|
|
|
import kotlinx.serialization.Serializable
|
|
|
|
|
|
|
|
@Serializable(EncryptedElementSerializer::class)
|
2021-01-29 06:44:13 +00:00
|
|
|
sealed class EncryptedPassportElementWithTranslatableIDDocument : EncryptedPassportElementWithData, EncryptedPassportElementWithFrontSide, EncryptedPassportElementWithReverseSide, EncryptedPassportElementWithSelfie, EncryptedPassportElementTranslatable
|
2021-01-14 08:03:25 +00:00
|
|
|
|
2021-01-17 10:11:38 +00:00
|
|
|
@Serializable
|
2021-01-14 08:03:25 +00:00
|
|
|
data class DriverLicense(
|
|
|
|
@SerialName(dataField)
|
2021-01-28 10:03:30 +00:00
|
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
2021-01-15 10:02:16 +00:00
|
|
|
override val data: EncryptedData,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(frontSideField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val frontSide: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(reverseSideField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val reverseSide: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(selfieField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val selfie: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(translationField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val translations: List<PassportFile> = emptyList(),
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(hashField)
|
2021-01-28 10:03:30 +00:00
|
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
|
|
override val hash: PassportElementHash
|
2021-01-29 06:44:13 +00:00
|
|
|
) : EncryptedPassportElementWithTranslatableIDDocument()
|
2021-01-14 08:03:25 +00:00
|
|
|
|
2021-01-17 10:11:38 +00:00
|
|
|
@Serializable
|
2021-01-14 08:03:25 +00:00
|
|
|
data class IdentityCard(
|
|
|
|
@SerialName(dataField)
|
2021-01-28 10:03:30 +00:00
|
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
2021-01-15 10:02:16 +00:00
|
|
|
override val data: EncryptedData,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(frontSideField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val frontSide: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(reverseSideField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val reverseSide: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(selfieField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val selfie: PassportFile? = null,
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(translationField)
|
2021-01-17 10:30:25 +00:00
|
|
|
override val translations: List<PassportFile> = emptyList(),
|
2021-01-14 08:03:25 +00:00
|
|
|
@SerialName(hashField)
|
2021-01-28 10:03:30 +00:00
|
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
|
|
override val hash: PassportElementHash
|
2021-01-29 06:44:13 +00:00
|
|
|
) : EncryptedPassportElementWithTranslatableIDDocument()
|