mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-07-14 15:29:25 +00:00

git-subtree-dir: submodules/Postbox git-subtree-mainline: 373769682ef152a8d5ef41ccb064a8387b2ca6f0 git-subtree-split: 534443c710e63ff4ea595b5dc7be94550c467734
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)
|
|
}
|
|
}
|
|
}
|