Swiftgram/submodules/TelegramCore/Sources/SecretChatOutgoingOperation.swift
2019-11-01 17:11:12 +04:00

32 lines
1.4 KiB
Swift

import Foundation
import Postbox
import TelegramApi
import SyncCore
extension SecretChatOutgoingFileReference {
init?(_ apiFile: Api.InputEncryptedFile) {
switch apiFile {
case let .inputEncryptedFile(id, accessHash):
self = .remote(id: id, accessHash: accessHash)
case let .inputEncryptedFileBigUploaded(id, parts, keyFingerprint):
self = .uploadedLarge(id: id, partCount: parts, keyFingerprint: keyFingerprint)
case let .inputEncryptedFileUploaded(id, parts, md5Checksum, keyFingerprint):
self = .uploadedRegular(id: id, partCount: parts, md5Digest: md5Checksum, keyFingerprint: keyFingerprint)
case .inputEncryptedFileEmpty:
return nil
}
}
var apiInputFile: Api.InputEncryptedFile {
switch self {
case let .remote(id, accessHash):
return .inputEncryptedFile(id: id, accessHash: accessHash)
case let .uploadedRegular(id, partCount, md5Digest, keyFingerprint):
return .inputEncryptedFileUploaded(id: id, parts: partCount, md5Checksum: md5Digest, keyFingerprint: keyFingerprint)
case let .uploadedLarge(id, partCount, keyFingerprint):
return .inputEncryptedFileBigUploaded(id: id, parts: partCount, keyFingerprint: keyFingerprint)
}
}
}