mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Add antispam false positive reporting
This commit is contained in:
@@ -3,6 +3,7 @@ import SwiftSignalKit
|
||||
|
||||
public struct ChannelAdminEventLogEntry: Comparable {
|
||||
public let stableId: UInt32
|
||||
public let headerStableId: UInt32
|
||||
public let event: AdminLogEvent
|
||||
public let peers: [PeerId: Peer]
|
||||
|
||||
@@ -85,6 +86,7 @@ public final class ChannelAdminEventLogContext {
|
||||
private var filter: ChannelAdminEventLogFilter = ChannelAdminEventLogFilter()
|
||||
|
||||
private var nextStableId: UInt32 = 1
|
||||
private var headerStableIds: [AdminLogEventId: UInt32] = [:]
|
||||
private var stableIds: [AdminLogEventId: UInt32] = [:]
|
||||
|
||||
private var entries: ([ChannelAdminEventLogEntry], ChannelAdminEventLogFilter) = ([], ChannelAdminEventLogFilter())
|
||||
@@ -182,13 +184,13 @@ public final class ChannelAdminEventLogContext {
|
||||
}
|
||||
|
||||
var entries: [ChannelAdminEventLogEntry] = events.map { event in
|
||||
return ChannelAdminEventLogEntry(stableId: strongSelf.stableIdForEventId(event.id), event: event, peers: result.peers)
|
||||
return ChannelAdminEventLogEntry(stableId: strongSelf.stableIdForEventId(event.id), headerStableId: strongSelf.headerStableIdForEventId(event.id), event: event, peers: result.peers)
|
||||
}
|
||||
entries.append(contentsOf: strongSelf.entries.0)
|
||||
strongSelf.entries = (entries, strongSelf.filter)
|
||||
} else {
|
||||
let entries: [ChannelAdminEventLogEntry] = events.map { event in
|
||||
return ChannelAdminEventLogEntry(stableId: strongSelf.stableIdForEventId(event.id), event: event, peers: result.peers)
|
||||
return ChannelAdminEventLogEntry(stableId: strongSelf.stableIdForEventId(event.id), headerStableId: strongSelf.headerStableIdForEventId(event.id), event: event, peers: result.peers)
|
||||
}
|
||||
strongSelf.entries = (entries, strongSelf.filter)
|
||||
}
|
||||
@@ -214,4 +216,15 @@ public final class ChannelAdminEventLogContext {
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
private func headerStableIdForEventId(_ id: AdminLogEventId) -> UInt32 {
|
||||
if let value = self.headerStableIds[id] {
|
||||
return value
|
||||
} else {
|
||||
let value = self.nextStableId
|
||||
self.nextStableId += 1
|
||||
self.headerStableIds[id] = value
|
||||
return value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,6 +292,10 @@ public extension TelegramEngine {
|
||||
return _internal_toggleAntiSpamProtection(account: self.account, peerId: peerId, enabled: enabled)
|
||||
}
|
||||
|
||||
public func reportAntiSpamFalsePositive(peerId: PeerId, messageId: MessageId) -> Signal<Bool, NoError> {
|
||||
return _internal_reportAntiSpamFalsePositive(account: self.account, peerId: peerId, messageId: messageId)
|
||||
}
|
||||
|
||||
public func requestPeerPhotos(peerId: PeerId) -> Signal<[TelegramPeerPhoto], NoError> {
|
||||
return _internal_requestPeerPhotos(postbox: self.account.postbox, network: self.account.network, peerId: peerId)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user