mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
no message
This commit is contained in:
@@ -100,6 +100,8 @@ private struct InputSecureIdValueData {
|
||||
let type: Api.SecureValueType
|
||||
let dict: [String: Any]?
|
||||
let fileReferences: [SecureIdVerificationDocumentReference]
|
||||
let frontSideReference: SecureIdVerificationDocumentReference?
|
||||
let backSideReference: SecureIdVerificationDocumentReference?
|
||||
let selfieReference: SecureIdVerificationDocumentReference?
|
||||
let publicData: Api.SecurePlainData?
|
||||
}
|
||||
@@ -108,32 +110,41 @@ private func inputSecureIdValueData(value: SecureIdValue) -> InputSecureIdValueD
|
||||
switch value {
|
||||
case let .personalDetails(personalDetails):
|
||||
let (dict, fileReferences) = personalDetails.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypePersonalDetails, dict: dict, fileReferences: fileReferences, selfieReference: nil, publicData: nil)
|
||||
return InputSecureIdValueData(type: .secureValueTypePersonalDetails, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .passport(passport):
|
||||
let (dict, fileReferences, selfieReference) = passport.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypePassport, dict: dict, fileReferences: fileReferences, selfieReference: selfieReference, publicData: nil)
|
||||
let (dict, fileReferences, selfieReference, frontSideReference) = passport.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypePassport, dict: dict, fileReferences: fileReferences, frontSideReference: frontSideReference, backSideReference: nil, selfieReference: selfieReference, publicData: nil)
|
||||
case let .internalPassport(internalPassport):
|
||||
let (dict, fileReferences, selfieReference, frontSideReference) = internalPassport.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeInternalPassport, dict: dict, fileReferences: fileReferences, frontSideReference: frontSideReference, backSideReference: nil, selfieReference: selfieReference, publicData: nil)
|
||||
case let .driversLicense(driversLicense):
|
||||
let (dict, fileReferences, selfieReference) = driversLicense.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeDriverLicense, dict: dict, fileReferences: fileReferences, selfieReference: selfieReference, publicData: nil)
|
||||
let (dict, fileReferences, selfieReference, frontSideReference, backSideReference) = driversLicense.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeDriverLicense, dict: dict, fileReferences: fileReferences, frontSideReference: frontSideReference, backSideReference: backSideReference, selfieReference: selfieReference, publicData: nil)
|
||||
case let .idCard(idCard):
|
||||
let (dict, fileReferences, selfieReference) = idCard.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeIdentityCard, dict: dict, fileReferences: fileReferences, selfieReference: selfieReference, publicData: nil)
|
||||
let (dict, fileReferences, selfieReference, frontSideReference, backSideReference) = idCard.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeIdentityCard, dict: dict, fileReferences: fileReferences, frontSideReference: frontSideReference, backSideReference: backSideReference, selfieReference: selfieReference, publicData: nil)
|
||||
case let .address(address):
|
||||
let (dict, fileReferences) = address.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeAddress, dict: dict, fileReferences: fileReferences, selfieReference: nil, publicData: nil)
|
||||
return InputSecureIdValueData(type: .secureValueTypeAddress, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .passportRegistration(passportRegistration):
|
||||
let (dict, fileReferences) = passportRegistration.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypePassportRegistration, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .temporaryRegistration(temporaryRegistration):
|
||||
let (dict, fileReferences) = temporaryRegistration.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeTemporaryRegistration, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .utilityBill(utilityBill):
|
||||
let (dict, fileReferences) = utilityBill.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeUtilityBill, dict: dict, fileReferences: fileReferences, selfieReference: nil, publicData: nil)
|
||||
return InputSecureIdValueData(type: .secureValueTypeUtilityBill, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .bankStatement(bankStatement):
|
||||
let (dict, fileReferences) = bankStatement.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeBankStatement, dict: dict, fileReferences: fileReferences, selfieReference: nil, publicData: nil)
|
||||
return InputSecureIdValueData(type: .secureValueTypeBankStatement, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .rentalAgreement(rentalAgreement):
|
||||
let (dict, fileReferences) = rentalAgreement.serialize()
|
||||
return InputSecureIdValueData(type: .secureValueTypeRentalAgreement, dict: dict, fileReferences: fileReferences, selfieReference: nil, publicData: nil)
|
||||
return InputSecureIdValueData(type: .secureValueTypeRentalAgreement, dict: dict, fileReferences: fileReferences, frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: nil)
|
||||
case let .phone(phone):
|
||||
return InputSecureIdValueData(type: .secureValueTypePhone, dict: nil, fileReferences: [], selfieReference: nil, publicData: .securePlainPhone(phone: phone.phone))
|
||||
return InputSecureIdValueData(type: .secureValueTypePhone, dict: nil, fileReferences: [], frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: .securePlainPhone(phone: phone.phone))
|
||||
case let .email(email):
|
||||
return InputSecureIdValueData(type: .secureValueTypeEmail, dict: nil, fileReferences: [], selfieReference: nil, publicData: .securePlainEmail(email: email.email))
|
||||
return InputSecureIdValueData(type: .secureValueTypeEmail, dict: nil, fileReferences: [], frontSideReference: nil, backSideReference: nil, selfieReference: nil, publicData: .securePlainEmail(email: email.email))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,17 +185,23 @@ private func makeInputSecureValue(context: SecureIdAccessContext, value: SecureI
|
||||
if secureData != nil {
|
||||
flags |= 1 << 0
|
||||
}
|
||||
if !files.isEmpty {
|
||||
if inputData.frontSideReference != nil {
|
||||
flags |= 1 << 1
|
||||
}
|
||||
if inputData.publicData != nil {
|
||||
if inputData.backSideReference != nil {
|
||||
flags |= 1 << 2
|
||||
}
|
||||
if inputData.selfieReference != nil {
|
||||
flags |= 1 << 3
|
||||
}
|
||||
if !files.isEmpty {
|
||||
flags |= 1 << 4
|
||||
}
|
||||
if inputData.publicData != nil {
|
||||
flags |= 1 << 5
|
||||
}
|
||||
|
||||
return Api.InputSecureValue.inputSecureValue(flags: flags, type: inputData.type, data: secureData, files: files, plainData: inputData.publicData, selfie: inputData.selfieReference.flatMap(apiInputSecretFile))
|
||||
return Api.InputSecureValue.inputSecureValue(flags: flags, type: inputData.type, data: secureData, frontSide: inputData.frontSideReference.flatMap(apiInputSecretFile), reverseSide: inputData.backSideReference.flatMap(apiInputSecretFile), selfie: inputData.selfieReference.flatMap(apiInputSecretFile), files: files, plainData: inputData.publicData)
|
||||
}
|
||||
|
||||
public func saveSecureIdValue(postbox: Postbox, network: Network, context: SecureIdAccessContext, value: SecureIdValue, uploadedFiles: [Data: Data]) -> Signal<SecureIdValueWithContext, SaveSecureIdValueError> {
|
||||
|
||||
Reference in New Issue
Block a user