mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 08:13:47 +00:00
add SecureData and DecryptedCredentials
This commit is contained in:
parent
e0bf67d8f9
commit
15066c9d63
@ -379,3 +379,17 @@ const val fileHashField = "file_hash"
|
||||
const val fileHashesField = "file_hashes"
|
||||
const val messageField = "message"
|
||||
const val unspecifiedField = "unspecified"
|
||||
|
||||
const val secureDataField = "secure_data"
|
||||
const val nonceField = "nonce"
|
||||
|
||||
const val personalDetailsField = "personal_details"
|
||||
const val passportField = "passport"
|
||||
const val internalPassportField = "internal_passport"
|
||||
const val driverLicenseField = "driver_license"
|
||||
const val identityCardField = "identity_card"
|
||||
const val utilityBillField = "utility_bill"
|
||||
const val bankStatementField = "bank_statement"
|
||||
const val rentalAgreementField = "rental_agreement"
|
||||
const val passportRegistrationField = "passport_registration"
|
||||
const val temporaryRegistrationField = "temporary_registration"
|
||||
|
@ -2,7 +2,8 @@ package dev.inmo.tgbotapi.types.passport
|
||||
|
||||
import dev.inmo.tgbotapi.types.credentialsField
|
||||
import dev.inmo.tgbotapi.types.dataField
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@ -6,8 +6,8 @@ import dev.inmo.micro_utils.crypto.MD5
|
||||
import dev.inmo.micro_utils.crypto.md5
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.type
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.type
|
||||
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
|
@ -0,0 +1,14 @@
|
||||
package dev.inmo.tgbotapi.types.passport.credentials
|
||||
|
||||
import dev.inmo.tgbotapi.types.dataHashField
|
||||
import dev.inmo.tgbotapi.types.secretField
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class DataCredentials(
|
||||
@SerialName(dataHashField)
|
||||
val dataHash: String,
|
||||
@SerialName(secretField)
|
||||
val secret: String
|
||||
)
|
@ -0,0 +1,15 @@
|
||||
package dev.inmo.tgbotapi.types.passport.credentials
|
||||
|
||||
import dev.inmo.tgbotapi.types.nonceField
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.SecureData
|
||||
import dev.inmo.tgbotapi.types.secureDataField
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class DecryptedCredentials(
|
||||
@SerialName(secureDataField)
|
||||
val secureData: List<SecureData>,
|
||||
@SerialName(nonceField)
|
||||
val nonce: String
|
||||
)
|
@ -1,4 +1,4 @@
|
||||
package dev.inmo.tgbotapi.types.passport
|
||||
package dev.inmo.tgbotapi.types.passport.credentials
|
||||
|
||||
import dev.inmo.micro_utils.crypto.SourceBytes
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
@ -0,0 +1,13 @@
|
||||
package dev.inmo.tgbotapi.types.passport.credentials
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class FileCredentials(
|
||||
@SerialName(fileHashField)
|
||||
val fileHash: String,
|
||||
@SerialName(secretField)
|
||||
val secret: String
|
||||
)
|
@ -0,0 +1,13 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.dataField
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.DataCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithData
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class AddressSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials
|
||||
) : SecureValueWithData
|
@ -0,0 +1,39 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.DataCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
sealed class IdentityWithReverseSideSecureValue : SecureValueIdentity, SecureValueWithData, SecureValueWithTranslations, SecureValueWithReverseSide
|
||||
|
||||
@Serializable
|
||||
data class DriverLicenseSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials,
|
||||
@SerialName(frontSideField)
|
||||
override val frontSide: FileCredentials,
|
||||
@SerialName(reverseSideField)
|
||||
override val reverseSide: FileCredentials,
|
||||
@SerialName(selfieField)
|
||||
override val selfie: FileCredentials,
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>
|
||||
) : IdentityWithReverseSideSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class IdentityCardSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials,
|
||||
@SerialName(frontSideField)
|
||||
override val frontSide: FileCredentials,
|
||||
@SerialName(reverseSideField)
|
||||
override val reverseSide: FileCredentials,
|
||||
@SerialName(selfieField)
|
||||
override val selfie: FileCredentials,
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>
|
||||
) : IdentityWithReverseSideSecureValue()
|
@ -0,0 +1,52 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.filesField
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithFiles
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithTranslations
|
||||
import dev.inmo.tgbotapi.types.translationField
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
sealed class OtherDocumentsSecureValue : SecureValueWithTranslations, SecureValueWithFiles
|
||||
|
||||
@Serializable
|
||||
data class UtilityBillSecureValue(
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>,
|
||||
@SerialName(filesField)
|
||||
override val files: List<FileCredentials>
|
||||
) : OtherDocumentsSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class BankStatementSecureValue(
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>,
|
||||
@SerialName(filesField)
|
||||
override val files: List<FileCredentials>
|
||||
) : OtherDocumentsSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class RentalAgreementSecureValue(
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>,
|
||||
@SerialName(filesField)
|
||||
override val files: List<FileCredentials>
|
||||
) : OtherDocumentsSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class PassportRegistrationSecureValue(
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>,
|
||||
@SerialName(filesField)
|
||||
override val files: List<FileCredentials>
|
||||
) : OtherDocumentsSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class TemporalRegistrationSecureValue(
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>,
|
||||
@SerialName(filesField)
|
||||
override val files: List<FileCredentials>
|
||||
) : OtherDocumentsSecureValue()
|
@ -0,0 +1,36 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.DataCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
sealed class PassportSecureValue : SecureValueIdentity, SecureValueWithData, SecureValueWithTranslations
|
||||
|
||||
@Serializable
|
||||
data class CommonPassportSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials,
|
||||
@SerialName(frontSideField)
|
||||
override val frontSide: FileCredentials,
|
||||
@SerialName(selfieField)
|
||||
override val selfie: FileCredentials,
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>
|
||||
) : PassportSecureValue()
|
||||
|
||||
@Serializable
|
||||
data class InternalPassportSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials,
|
||||
@SerialName(frontSideField)
|
||||
override val frontSide: FileCredentials,
|
||||
@SerialName(selfieField)
|
||||
override val selfie: FileCredentials,
|
||||
@SerialName(translationField)
|
||||
override val translation: List<FileCredentials>
|
||||
) : PassportSecureValue()
|
||||
|
@ -0,0 +1,13 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.dataField
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.DataCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithData
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class PersonalDetailsSecureValue(
|
||||
@SerialName(dataField)
|
||||
override val data: DataCredentials
|
||||
) : SecureValueWithData
|
@ -0,0 +1,29 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class SecureData(
|
||||
@SerialName(personalDetailsField)
|
||||
val personalDetails: PersonalDetailsSecureValue? = null,
|
||||
@SerialName(passportField)
|
||||
val passport: PassportSecureValue? = null,
|
||||
@SerialName(internalPassportField)
|
||||
val internalPassport: InternalPassportSecureValue? = null,
|
||||
@SerialName(driverLicenseField)
|
||||
val driverLicense: DriverLicenseSecureValue? = null,
|
||||
@SerialName(identityCardField)
|
||||
val identityCard: IdentityCardSecureValue? = null,
|
||||
@SerialName(utilityBillField)
|
||||
val utilityBill: UtilityBillSecureValue? = null,
|
||||
@SerialName(bankStatementField)
|
||||
val bankStatement: BankStatementSecureValue? = null,
|
||||
@SerialName(rentalAgreementField)
|
||||
val rentalAgreement: RentalAgreementSecureValue? = null,
|
||||
@SerialName(passportRegistrationField)
|
||||
val passportRegistration: PassportRegistrationSecureValue? = null,
|
||||
@SerialName(temporaryRegistrationField)
|
||||
val temporaryRegistration: TemporalRegistrationSecureValue? = null,
|
||||
)
|
@ -0,0 +1,3 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
interface SecureValue
|
@ -0,0 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
|
||||
interface SecureValueIdentity : SecureValue {
|
||||
val frontSide: FileCredentials
|
||||
val selfie: FileCredentials
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.DataCredentials
|
||||
|
||||
interface SecureValueWithData : SecureValue {
|
||||
val data: DataCredentials
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
|
||||
interface SecureValueWithFiles : SecureValue {
|
||||
val files: List<FileCredentials>
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
|
||||
interface SecureValueWithReverseSide : SecureValue {
|
||||
val reverseSide: FileCredentials
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.passport.decrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.FileCredentials
|
||||
|
||||
interface SecureValueWithTranslations : SecureValue {
|
||||
val translation: List<FileCredentials>
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
||||
import dev.inmo.tgbotapi.types.emailField
|
||||
import dev.inmo.tgbotapi.types.hashField
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.WithEmail
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.WithEmail
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,10 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
||||
import dev.inmo.tgbotapi.types.dataField
|
||||
import dev.inmo.tgbotapi.types.passport.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.WithData
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.WithData
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,10 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.micro_utils.crypto.decodeBase64
|
||||
import dev.inmo.micro_utils.serialization.encapsulator.Encapsulator
|
||||
import dev.inmo.tgbotapi.types.hashField
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.UnknownEncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.typeField
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
@ -1,10 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
||||
import dev.inmo.tgbotapi.types.dataField
|
||||
import dev.inmo.tgbotapi.types.passport.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.WithData
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.WithData
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,9 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
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.passport.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,4 +1,4 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||
import dev.inmo.tgbotapi.types.*
|
@ -1,9 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted
|
||||
|
||||
import dev.inmo.micro_utils.serialization.base64.Base64BytesToFromStringSerializer
|
||||
import dev.inmo.tgbotapi.types.hashField
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.WithPhoneNumber
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.PassportElementHash
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.WithPhoneNumber
|
||||
import dev.inmo.tgbotapi.types.phoneNumberField
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
@ -1,8 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
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.passport.encrypted_data.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,9 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data
|
||||
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.passport.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@ -1,8 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
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.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface FilesCollection : EncryptedPassportElement {
|
||||
val files: List<PassportFile>
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface Translatable : EncryptedPassportElement {
|
||||
val translations: List<PassportFile>
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithData : EncryptedPassportElement {
|
||||
val data: EncryptedData
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithFrontSide : EncryptedPassportElement {
|
||||
val frontSide: PassportFile?
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithReverseSide : EncryptedPassportElement {
|
||||
val reverseSide: PassportFile?
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithSelfie : EncryptedPassportElement {
|
||||
val selfie: PassportFile?
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface FilesCollection : EncryptedPassportElement {
|
||||
val files: List<PassportFile>
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface Translatable : EncryptedPassportElement {
|
||||
val translations: List<PassportFile>
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.EncryptedData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithData : EncryptedPassportElement {
|
||||
val data: EncryptedData
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithFrontSide : EncryptedPassportElement {
|
||||
val frontSide: PassportFile?
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithReverseSide : EncryptedPassportElement {
|
||||
val reverseSide: PassportFile?
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.EncryptedElementSerializer
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(EncryptedElementSerializer::class)
|
||||
interface WithSelfie : EncryptedPassportElement {
|
||||
val selfie: PassportFile?
|
||||
}
|
@ -3,9 +3,8 @@ package dev.inmo.tgbotapi.utils.passport
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.DownloadFile
|
||||
import dev.inmo.tgbotapi.requests.get.GetFile
|
||||
import dev.inmo.tgbotapi.types.passport.EncryptedCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.PassportFile
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.WithData
|
||||
import dev.inmo.tgbotapi.types.passport.credentials.EncryptedCredentials
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.PassportFile
|
||||
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
package dev.inmo.tgbotapi.passport
|
||||
|
||||
import dev.inmo.tgbotapi.types.passport.EncryptedAndBase64EncodedData
|
||||
|
||||
//actual val privateKey = """-----BEGIN RSA PRIVATE KEY-----
|
||||
//MIIEowIBAAKCAQEAt0hdC7xyjrRAXxqrd5i06haPfKLdAvRWsPy2yWtYTFom5dBj
|
||||
//atMUnFKekTwsmhKbRPBoqF7Da0RF+/Y9q9zmZv05+tNz2FEYGJ6o7r/gdAEX+pKs
|
||||
//Hd84avm9RahGOwbZgcE8r8Md/tg/ZJCSMsVElzM/Gw02+U1uJQE4n/E2AATbRl0M
|
||||
//oWdyXjh6Zk6HMiTCvhtQOHoMa9yI00wmHVAlZonovZSRQ2mqfwPlbkDhjsDUQMZp
|
||||
//WcSPQblAd8FLcWsR1Mh86rQl1GxZVWYONaNwoeATe4p6Ng438HCL7jO7nc4jXJwp
|
||||
//xqwGI9eUYlHolApBeMQK7oEYDTQ+e0iTvFryPQIDAQABAoIBAAnV81BW65rm53Fz
|
||||
//H/KKGmNZlJeuscefzysuVKzYeuOWDvJUTZGFBF0jPekzXn1iNDzt3d/zPe96uXq9
|
||||
//CzA26ZJrUno4cMYSDAX+NbiiSWxQRrYmut/bg86R2mtrjWFLi86fzR7tjKWJe1Vt
|
||||
//QLtCxNyMXn2YJvQYCKopt501t50mjkgR3xM375cfVmpomcZXh1K+z4ZxFVzivjvK
|
||||
//ZAga3BPQ/hd6dhnwUdB/yFZFao1dDmsvJVjsnjpnWD3uqtciTeg2iqtXVLpaLfbJ
|
||||
//gWOt5P94uIP5r1+qvyrrPXzUGONm4l+43zgvleEgAXWGxnutsYaFfazVQ6qOVyE7
|
||||
//fGMQfcECgYEA5Zt1fwTVoYIohq4Do/y5TnNcoj4AajXZU1OutFcPM3aNex16UPBW
|
||||
//hP7Gakq3TwTKxEILDqOwo86IJuG+lX18kUwaj1f/3T0kDFvE6iLimiPYRNByog4c
|
||||
//Z5Kwqn+vrnl4ciRDoz7jJsURms2PE7mYV7bndA24Gb0FZJRWiB1xI+0CgYEAzFm7
|
||||
//uTSyzacTsqorkyUFIwoGgMIE5NDBQNCVhflJcrmuHRYNwxkH9HRCXqyeHKLiNPRa
|
||||
//zAoBo3WynjActoy0tFJ90qZI1203iT9BMRbPDiZEXnMH4MrWmk7e7poAUsPVKaRr
|
||||
//hxvHjr2gTOLY0ClolMvnyNxZcZ/jBxAG0WwK3ZECgYEAwSkdmbQZfPwg19zBF05f
|
||||
//Ho6SmbMLak7O+/jkerbbBPJxZ+eOpVTrlIs5pOYifImNg7oDz1cKHWR8yikTynN9
|
||||
//PkcF+R2RFTCAiR0S9d5PQFlzccDjD05Lux5/HZC53VA3cd7sQAOB2XXkr5TLD08N
|
||||
//yI0I/mskPBL23Hymp3ANZKkCgYAO2fqttCnGjnz9ACcYk5ky+biNRQyMAKv65O3p
|
||||
//BbwTzXDdBkxLwJb2ajikntEC7ceY56VtrNB/q78mhgKgNcuwS0p/s7wZhAOEQwee
|
||||
//5LR5p8hSQPPyn2tHXbIQDzs0yKzGUP/LmvY+5oMu81Gkl03VephG3dTWUDN0wPJt
|
||||
//5/dGMQKBgE++3BNLLV8siedqwjhSrRB/KmpbLPtoOUlRJYBfG+oITgl/d/W2NKOg
|
||||
//C5GztdiZUKlHsvvcYoAAWrgEE3bKg+D7GI15yzAjQQZH6AOgL+CEnunIHBaxEEgG
|
||||
//RS39yB/kPcn9ZtvcJd9v8myQnQjhco8Z2RUwb6IUIoOBvZlSGhGe
|
||||
//-----END RSA PRIVATE KEY-----"""
|
||||
//actual val encryptedLoremIpsum: EncryptedAndBase64EncodedData = "KeuPVezTbMW4MvOGJFTAt34PRaL9iepGb1g4QEi5EQYjKXeXo7RytFOCVx6pW9O/uoMWhl+cX32kNqJVWyK7a22kuhnNT2+aiXqEpuh+madx+LK1zUvGDR1A1Mrf3fFOugcnadCQKICiqvl9cFdqsBkJQOFEs9qj5wiu1F57kekuHLWI7ZnHOojkRNq7l1aCHL0DxcLCfZW5CtWAi8g/zUE5WnGd+vUZ+hqc1vnehDul8JE8YUQbAiIxetzba9XoWouTHYZRZcNCztDbrRBYnq2UCcI5adEwQ3VNcES0lIjRuwn1BBWpvk7VOjqh+4c2tSebDX5AkqrO8XwQYwo8OwvZF+hUXFRK6QLHd4B1JQIdygCaEODG0X353upiEKJXDBqv/ZMXR9KqYZBZEfu48ZM/J6heNjVSOP4TSDrXywJgIOieu8mrQ4d7Or7Twnsu/B+bqS37PvVlfU4wHLl7ehXFj4Kusat6cIrb0R4F/Y3fL4+FcfEsk4ioEAndYBFrc1S11vo/TkcuFnXtqrr181gC5JD5LtsUH6sst36vE/JdL/UwTGqhu+rDUcgvr7FiunkasWBnzCtFs58JJrRycUKPzyKINS16GkY8yYtp7xJXBGPYOFM+J7npcKW7P41j1KceDaUArjph2yIELEXCr8qUZzWXZdrw96Te8gLi99c="
|
@ -0,0 +1,2 @@
|
||||
package dev.inmo.tgbotapi.utils.passport
|
||||
|
@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.message.PassportMessage
|
||||
import dev.inmo.tgbotapi.types.passport.PassportData
|
||||
import dev.inmo.tgbotapi.types.passport.PassportElementError
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.utils.passport.Decryptor
|
||||
|
||||
suspend fun TelegramBot.setPassportDataErrors(
|
||||
|
@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.extensions.utils.*
|
||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||
import dev.inmo.tgbotapi.types.message.PassportMessage
|
||||
import dev.inmo.tgbotapi.types.passport.PassportData
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import kotlinx.coroutines.flow.toList
|
||||
|
||||
|
@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.expectFlow
|
||||
import dev.inmo.tgbotapi.extensions.utils.*
|
||||
import dev.inmo.tgbotapi.extensions.utils.extensions.sourceChat
|
||||
import dev.inmo.tgbotapi.types.message.PassportMessage
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement
|
||||
|
||||
suspend inline fun <reified T : EncryptedPassportElement> BehaviourContext.onPassportMessageWith(
|
||||
includeFilterByChatInBehaviourSubContext: Boolean = true,
|
||||
|
@ -38,8 +38,8 @@ import dev.inmo.tgbotapi.types.message.content.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.message.content.media.*
|
||||
import dev.inmo.tgbotapi.types.message.payments.InvoiceContent
|
||||
import dev.inmo.tgbotapi.types.passport.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.*
|
||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.polls.*
|
||||
import dev.inmo.tgbotapi.types.update.*
|
||||
import dev.inmo.tgbotapi.types.update.MediaGroupUpdates.*
|
||||
|
Loading…
Reference in New Issue
Block a user