Swiftgram/submodules/Postbox/Sources/IsContactView.swift
2022-05-26 23:11:44 +04:00

44 lines
1.1 KiB
Swift

import Foundation
final class MutableIsContactView: MutablePostboxView {
fileprivate let id: PeerId
fileprivate var isContact: Bool
init(postbox: PostboxImpl, id: PeerId) {
self.id = id
self.isContact = postbox.contactsTable.isContact(peerId: self.id)
}
func replay(postbox: PostboxImpl, transaction: PostboxTransaction) -> Bool {
var updated = false
if transaction.replaceContactPeerIds != nil {
let isContact = postbox.contactsTable.isContact(peerId: self.id)
if self.isContact != isContact {
self.isContact = isContact
updated = true
}
}
if updated {
return true
} else {
return false
}
}
func refreshDueToExternalTransaction(postbox: PostboxImpl) -> Bool {
return false
}
func immutableView() -> PostboxView {
return IsContactView(self)
}
}
public final class IsContactView: PostboxView {
public let isContact: Bool
init(_ view: MutableIsContactView) {
self.isContact = view.isContact
}
}