2019-11-01 17:11:12 +04:00

24 lines
779 B
Swift

import Foundation
import SwiftSignalKit
import TelegramApi
import SyncCore
public struct DeepLinkInfo {
public let message: String
public let entities: [MessageTextEntity]
public let updateApp: Bool
}
public func getDeepLinkInfo(network: Network, path: String) -> Signal<DeepLinkInfo?, NoError> {
return network.request(Api.functions.help.getDeepLinkInfo(path: path)) |> retryRequest
|> map { value -> DeepLinkInfo? in
switch value {
case .deepLinkInfoEmpty:
return nil
case let .deepLinkInfo(flags, message, entities):
return DeepLinkInfo(message: message, entities: entities != nil ? messageTextEntitiesFromApiEntities(entities!) : [], updateApp: (flags & (1 << 0)) != 0)
}
}
}