mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-02-05 02:41:05 +00:00
no message
This commit is contained in:
@@ -36,6 +36,33 @@ func apiSecureValueType(value: SecureIdValue) -> Api.SecureValueType {
|
||||
return type
|
||||
}
|
||||
|
||||
func apiSecureValueType(key: SecureIdValueKey) -> Api.SecureValueType {
|
||||
let type: Api.SecureValueType
|
||||
switch key {
|
||||
case .personalDetails:
|
||||
type = .secureValueTypePersonalDetails
|
||||
case .passport:
|
||||
type = .secureValueTypePassport
|
||||
case .driversLicense:
|
||||
type = .secureValueTypeDriverLicense
|
||||
case .idCard:
|
||||
type = .secureValueTypeIdentityCard
|
||||
case .address:
|
||||
type = .secureValueTypeAddress
|
||||
case .bankStatement:
|
||||
type = .secureValueTypeBankStatement
|
||||
case .utilityBill:
|
||||
type = .secureValueTypeUtilityBill
|
||||
case .rentalAgreement:
|
||||
type = .secureValueTypeRentalAgreement
|
||||
case .phone:
|
||||
type = .secureValueTypePhone
|
||||
case .email:
|
||||
type = .secureValueTypeEmail
|
||||
}
|
||||
return type
|
||||
}
|
||||
|
||||
private func credentialsValueTypeName(value: SecureIdValue) -> String {
|
||||
switch value {
|
||||
case .personalDetails:
|
||||
|
||||
@@ -187,8 +187,8 @@ private func makeInputSecureValue(context: SecureIdAccessContext, value: SecureI
|
||||
return Api.InputSecureValue.inputSecureValue(flags: flags, type: inputData.type, data: secureData, files: files, plainData: inputData.publicData, selfie: inputData.selfieReference.flatMap(apiInputSecretFile))
|
||||
}
|
||||
|
||||
public func saveSecureIdValue(network: Network, context: SecureIdAccessContext, valueContext: SecureIdValueAccessContext, value: SecureIdValue) -> Signal<SecureIdValueWithContext, SaveSecureIdValueError> {
|
||||
let delete = deleteSecureIdValue(network: network, value: value)
|
||||
public func saveSecureIdValue(network: Network, context: SecureIdAccessContext, value: SecureIdValue) -> Signal<SecureIdValueWithContext, SaveSecureIdValueError> {
|
||||
let delete = deleteSecureIdValues(network: network, keys: Set([value.key]))
|
||||
|> mapError { _ -> SaveSecureIdValueError in
|
||||
return .generic
|
||||
}
|
||||
@@ -227,8 +227,8 @@ public enum DeleteSecureIdValueError {
|
||||
case generic
|
||||
}
|
||||
|
||||
public func deleteSecureIdValue(network: Network, value: SecureIdValue) -> Signal<Void, DeleteSecureIdValueError> {
|
||||
return network.request(Api.functions.account.deleteSecureValue(types: [apiSecureValueType(value: value)]))
|
||||
public func deleteSecureIdValues(network: Network, keys: Set<SecureIdValueKey>) -> Signal<Void, DeleteSecureIdValueError> {
|
||||
return network.request(Api.functions.account.deleteSecureValue(types: keys.map(apiSecureValueType(key:))))
|
||||
|> mapError { _ -> DeleteSecureIdValueError in
|
||||
return .generic
|
||||
}
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
import Foundation
|
||||
|
||||
public enum SecureIdValueKey: Int32 {
|
||||
case personalDetails
|
||||
case passport
|
||||
case driversLicense
|
||||
case idCard
|
||||
case address
|
||||
case utilityBill
|
||||
case bankStatement
|
||||
case rentalAgreement
|
||||
case phone
|
||||
case email
|
||||
}
|
||||
|
||||
public enum SecureIdValue: Equatable {
|
||||
case personalDetails(SecureIdPersonalDetailsValue)
|
||||
case passport(SecureIdPassportValue)
|
||||
@@ -12,6 +25,31 @@ public enum SecureIdValue: Equatable {
|
||||
case phone(SecureIdPhoneValue)
|
||||
case email(SecureIdEmailValue)
|
||||
|
||||
public var key: SecureIdValueKey {
|
||||
switch self {
|
||||
case .personalDetails:
|
||||
return .personalDetails
|
||||
case .passport:
|
||||
return .passport
|
||||
case .driversLicense:
|
||||
return .driversLicense
|
||||
case .idCard:
|
||||
return .idCard
|
||||
case .address:
|
||||
return .address
|
||||
case .utilityBill:
|
||||
return .utilityBill
|
||||
case .bankStatement:
|
||||
return .bankStatement
|
||||
case .rentalAgreement:
|
||||
return .rentalAgreement
|
||||
case .phone:
|
||||
return .phone
|
||||
case .email:
|
||||
return .email
|
||||
}
|
||||
}
|
||||
|
||||
func serialize() -> ([String: Any], [SecureIdVerificationDocumentReference], SecureIdVerificationDocumentReference?)? {
|
||||
switch self {
|
||||
case let .personalDetails(personalDetails):
|
||||
|
||||
@@ -59,7 +59,7 @@ public func secureIdCommitPhoneVerification(network: Network, context: SecureIdA
|
||||
return .generic
|
||||
}
|
||||
|> mapToSignal { _ -> Signal<SecureIdValueWithContext, SecureIdCommitPhoneVerificationError> in
|
||||
return saveSecureIdValue(network: network, context: context, valueContext: generateSecureIdValueEmptyAccessContext()!, value: .phone(SecureIdPhoneValue(phone: payload.phone)))
|
||||
return saveSecureIdValue(network: network, context: context, value: .phone(SecureIdPhoneValue(phone: payload.phone)))
|
||||
|> mapError { _ -> SecureIdCommitPhoneVerificationError in
|
||||
return .generic
|
||||
}
|
||||
@@ -106,7 +106,7 @@ public func secureIdCommitEmailVerification(network: Network, context: SecureIdA
|
||||
return .generic
|
||||
}
|
||||
|> mapToSignal { _ -> Signal<SecureIdValueWithContext, SecureIdCommitEmailVerificationError> in
|
||||
return saveSecureIdValue(network: network, context: context, valueContext: generateSecureIdValueEmptyAccessContext()!, value: .email(SecureIdEmailValue(email: payload.email)))
|
||||
return saveSecureIdValue(network: network, context: context, value: .email(SecureIdEmailValue(email: payload.email)))
|
||||
|> mapError { _ -> SecureIdCommitEmailVerificationError in
|
||||
return .generic
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user