mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
26 lines
821 B
Swift
26 lines
821 B
Swift
import Foundation
|
|
import SwiftSignalKit
|
|
import Postbox
|
|
import TelegramApi
|
|
|
|
public func chatOnlineMembers(postbox: Postbox, network: Network, peerId: PeerId) -> Signal<Int32, NoError> {
|
|
return postbox.transaction { transaction -> Api.InputPeer? in
|
|
return transaction.getPeer(peerId).flatMap(apiInputPeer)
|
|
}
|
|
|> mapToSignal { inputPeer -> Signal<Int32, NoError> in
|
|
guard let inputPeer = inputPeer else {
|
|
return .single(0)
|
|
}
|
|
return network.request(Api.functions.messages.getOnlines(peer: inputPeer))
|
|
|> map { value -> Int32 in
|
|
switch value {
|
|
case let .chatOnlines(onlines):
|
|
return onlines
|
|
}
|
|
}
|
|
|> `catch` { _ -> Signal<Int32, NoError> in
|
|
return .single(0)
|
|
}
|
|
}
|
|
}
|