64 lines
2.5 KiB
Kotlin
64 lines
2.5 KiB
Kotlin
package dev.inmo.tgbotapi.types.passport.encrypted
|
|
|
|
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
|
import dev.inmo.tgbotapi.types.*
|
|
import dev.inmo.tgbotapi.types.files.PassportFile
|
|
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
|
import kotlinx.serialization.SerialName
|
|
import kotlinx.serialization.Serializable
|
|
|
|
@Serializable(EncryptedElementSerializer::class)
|
|
sealed class EncryptedPassportElementWithTranslatableFilesCollection : EncryptedPassportElementTranslatable, EncryptedPassportElementWithFilesCollection
|
|
|
|
@Serializable
|
|
data class UtilityBill(
|
|
@SerialName(filesField)
|
|
override val files: List<PassportFile>,
|
|
@SerialName(translationField)
|
|
override val translations: List<PassportFile> = emptyList(),
|
|
@SerialName(hashField)
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElementWithTranslatableFilesCollection()
|
|
@Serializable
|
|
data class BankStatement(
|
|
@SerialName(filesField)
|
|
override val files: List<PassportFile>,
|
|
@SerialName(translationField)
|
|
override val translations: List<PassportFile> = emptyList(),
|
|
@SerialName(hashField)
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElementWithTranslatableFilesCollection()
|
|
@Serializable
|
|
data class RentalAgreement(
|
|
@SerialName(filesField)
|
|
override val files: List<PassportFile>,
|
|
@SerialName(translationField)
|
|
override val translations: List<PassportFile> = emptyList(),
|
|
@SerialName(hashField)
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElementWithTranslatableFilesCollection()
|
|
@Serializable
|
|
data class PassportRegistration(
|
|
@SerialName(filesField)
|
|
override val files: List<PassportFile>,
|
|
@SerialName(translationField)
|
|
override val translations: List<PassportFile> = emptyList(),
|
|
@SerialName(hashField)
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElementWithTranslatableFilesCollection()
|
|
@Serializable
|
|
data class TemporaryRegistration(
|
|
@SerialName(filesField)
|
|
override val files: List<PassportFile>,
|
|
@SerialName(translationField)
|
|
override val translations: List<PassportFile> = emptyList(),
|
|
@SerialName(hashField)
|
|
@Serializable(Base64BytesToFromStringSerializer::class)
|
|
override val hash: PassportElementHash
|
|
) : EncryptedPassportElementWithTranslatableFilesCollection()
|
|
|