mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
29 lines
1.1 KiB
Swift
29 lines
1.1 KiB
Swift
import Foundation
|
|
import Postbox
|
|
import SwiftSignalKit
|
|
|
|
import SyncCore
|
|
|
|
func addSynchronizeMarkAllUnseenPersonalMessagesOperation(transaction: Transaction, peerId: PeerId, maxId: MessageId.Id) {
|
|
let tag: PeerOperationLogTag = OperationLogTags.SynchronizeMarkAllUnseenPersonalMessages
|
|
|
|
var topLocalIndex: Int32?
|
|
var currentMaxId: MessageId.Id?
|
|
transaction.operationLogEnumerateEntries(peerId: peerId, tag: tag, { entry in
|
|
topLocalIndex = entry.tagLocalIndex
|
|
if let operation = entry.contents as? SynchronizeMarkAllUnseenPersonalMessagesOperation {
|
|
currentMaxId = operation.maxId
|
|
}
|
|
return false
|
|
})
|
|
|
|
if let topLocalIndex = topLocalIndex {
|
|
if let currentMaxId = currentMaxId, currentMaxId >= maxId {
|
|
return
|
|
}
|
|
let _ = transaction.operationLogRemoveEntry(peerId: peerId, tag: tag, tagLocalIndex: topLocalIndex)
|
|
}
|
|
|
|
transaction.operationLogAddEntry(peerId: peerId, tag: tag, tagLocalIndex: .automatic, tagMergedIndex: .automatic, contents: SynchronizeMarkAllUnseenPersonalMessagesOperation(maxId: maxId))
|
|
}
|