mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-04-30 06:47:53 +02:00
4647310322
Based on Swiftgram 12.5 (Telegram iOS 12.5). All GLEGram features ported and organized in GLEGram/ folder. Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass, Font Replacement, Fake Profile, Chat Export, Plugin System, and more. See CHANGELOG_12.5.md for full details.
37 lines
1.2 KiB
Swift
37 lines
1.2 KiB
Swift
import Foundation
|
|
import Postbox
|
|
import TelegramApi
|
|
import SwiftSignalKit
|
|
|
|
func _internal_importContactToken(account: Account, token: String) -> Signal<EnginePeer?, NoError> {
|
|
return account.network.request(Api.functions.contacts.importContactToken(token: token))
|
|
|> map(Optional.init)
|
|
|> `catch` { _ -> Signal<Api.User?, NoError> in
|
|
return .single(nil)
|
|
}
|
|
|> map { result -> EnginePeer? in
|
|
return result.flatMap { EnginePeer(TelegramUser(user: $0)) }
|
|
}
|
|
}
|
|
|
|
public struct ExportedContactToken {
|
|
public let url: String
|
|
public let expires: Int32
|
|
}
|
|
|
|
func _internal_exportContactToken(account: Account) -> Signal<ExportedContactToken?, NoError> {
|
|
return account.network.request(Api.functions.contacts.exportContactToken())
|
|
|> map(Optional.init)
|
|
|> `catch` { _ -> Signal<Api.ExportedContactToken?, NoError> in
|
|
return .single(nil)
|
|
}
|
|
|> map { result -> ExportedContactToken? in
|
|
if let result = result, case let .exportedContactToken(exportedContactTokenData) = result {
|
|
let (url, expires) = (exportedContactTokenData.url, exportedContactTokenData.expires)
|
|
return ExportedContactToken(url: url, expires: expires)
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
}
|