Bail early on !requirePremiun

This commit is contained in:
Isaac
2024-01-17 23:53:28 +04:00
parent 3fc919e42d
commit d0e0f302dd

View File

@@ -1037,7 +1037,8 @@ public extension TelegramEngine.EngineData.Item {
func keys(data: TelegramEngine.EngineData) -> [PostboxViewKey] { func keys(data: TelegramEngine.EngineData) -> [PostboxViewKey] {
return [ return [
.cachedPeerData(peerId: self.id), .cachedPeerData(peerId: self.id),
.basicPeer(data.accountPeerId) .basicPeer(data.accountPeerId),
.basicPeer(self.id)
] ]
} }
@@ -1046,6 +1047,10 @@ public extension TelegramEngine.EngineData.Item {
assertionFailure() assertionFailure()
return false return false
} }
guard let basicTargetPeerView = views[.basicPeer(self.id)] as? BasicPeerView else {
assertionFailure()
return false
}
guard let view = views[.cachedPeerData(peerId: self.id)] as? CachedPeerDataView else { guard let view = views[.cachedPeerData(peerId: self.id)] as? CachedPeerDataView else {
assertionFailure() assertionFailure()
return false return false
@@ -1055,6 +1060,13 @@ public extension TelegramEngine.EngineData.Item {
return false return false
} }
guard let targetPeer = basicTargetPeerView.peer as? TelegramUser else {
return false
}
if !targetPeer.flags.contains(.requirePremium) {
return false
}
if self.id.namespace == Namespaces.Peer.CloudUser { if self.id.namespace == Namespaces.Peer.CloudUser {
if let cachedData = view.cachedPeerData as? CachedUserData { if let cachedData = view.cachedPeerData as? CachedUserData {
return cachedData.flags.contains(.premiumRequired) return cachedData.flags.contains(.premiumRequired)