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.
43 lines
1.6 KiB
Swift
43 lines
1.6 KiB
Swift
import Foundation
|
|
|
|
public enum PeerChatListInclusion: Equatable {
|
|
case notIncluded
|
|
case ifHasMessagesOrOneOf(groupId: PeerGroupId, pinningIndex: UInt16?, minTimestamp: Int32?)
|
|
|
|
public var groupId: PeerGroupId? {
|
|
switch self {
|
|
case .notIncluded:
|
|
return nil
|
|
case let .ifHasMessagesOrOneOf(groupId, _, _):
|
|
return groupId
|
|
}
|
|
}
|
|
|
|
public func withPinningIndex(groupId: PeerGroupId, pinningIndex: UInt16?) -> PeerChatListInclusion {
|
|
switch self {
|
|
case let .ifHasMessagesOrOneOf(_, _, minTimestamp):
|
|
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: minTimestamp)
|
|
default:
|
|
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: nil)
|
|
}
|
|
}
|
|
|
|
public func withoutPinningIndex() -> PeerChatListInclusion {
|
|
switch self {
|
|
case let .ifHasMessagesOrOneOf(groupId, _, minTimestamp):
|
|
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: nil, minTimestamp: minTimestamp)
|
|
default:
|
|
return self
|
|
}
|
|
}
|
|
|
|
public func withGroupId(groupId: PeerGroupId) -> PeerChatListInclusion {
|
|
switch self {
|
|
case .notIncluded:
|
|
return self
|
|
case let .ifHasMessagesOrOneOf(_, pinningIndex, minTimestamp):
|
|
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: minTimestamp)
|
|
}
|
|
}
|
|
}
|