mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-02-22 10:33:18 +00:00
34 lines
1.9 KiB
Swift
34 lines
1.9 KiB
Swift
import Foundation
|
|
import Postbox
|
|
import TelegramApi
|
|
|
|
|
|
extension SecretChatOutgoingFileReference {
|
|
init?(_ apiFile: Api.InputEncryptedFile) {
|
|
switch apiFile {
|
|
case let .inputEncryptedFile(inputEncryptedFileData):
|
|
let (id, accessHash) = (inputEncryptedFileData.id, inputEncryptedFileData.accessHash)
|
|
self = .remote(id: id, accessHash: accessHash)
|
|
case let .inputEncryptedFileBigUploaded(inputEncryptedFileBigUploadedData):
|
|
let (id, parts, keyFingerprint) = (inputEncryptedFileBigUploadedData.id, inputEncryptedFileBigUploadedData.parts, inputEncryptedFileBigUploadedData.keyFingerprint)
|
|
self = .uploadedLarge(id: id, partCount: parts, keyFingerprint: keyFingerprint)
|
|
case let .inputEncryptedFileUploaded(inputEncryptedFileUploadedData):
|
|
let (id, parts, md5Checksum, keyFingerprint) = (inputEncryptedFileUploadedData.id, inputEncryptedFileUploadedData.parts, inputEncryptedFileUploadedData.md5Checksum, inputEncryptedFileUploadedData.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(.init(id: id, accessHash: accessHash))
|
|
case let .uploadedRegular(id, partCount, md5Digest, keyFingerprint):
|
|
return .inputEncryptedFileUploaded(.init(id: id, parts: partCount, md5Checksum: md5Digest, keyFingerprint: keyFingerprint))
|
|
case let .uploadedLarge(id, partCount, keyFingerprint):
|
|
return .inputEncryptedFileBigUploaded(.init(id: id, parts: partCount, keyFingerprint: keyFingerprint))
|
|
}
|
|
}
|
|
}
|