From f0fda330debcb6ae28e728593336c7a25178e116 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Thu, 12 Sep 2019 14:09:35 +1000 Subject: [PATCH] Removed old moderator logic. --- .../ConversationView/ConversationViewItem.m | 10 ++++++---- SignalServiceKit/src/Loki/API/LokiGroupChatAPI.swift | 1 + .../src/Loki/Crypto/OWSPrimaryStorage+Loki.h | 2 -- .../src/Loki/Crypto/OWSPrimaryStorage+Loki.m | 10 ---------- 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m b/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m index e3a575d1c..319bde986 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewItem.m @@ -1236,6 +1236,10 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType) return NO; } +- (NSString *)ourHexEncodedPublicKey { + return OWSIdentityManager.sharedManager.identityKeyPair.hexEncodedPublicKey; +} + - (BOOL)userCanDeleteGroupMessage { if (!self.isGroupThread) return false; @@ -1254,10 +1258,8 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType) // Only allow deletion on incoming messages if the user has moderation permission if (interationType == OWSInteractionType_IncomingMessage) { - __block BOOL isModerator; - [[self primaryStorage].dbReadWriteConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { - isModerator = [[self primaryStorage] isModeratorForGroup:LKGroupChatAPI.publicChatServerID onServer:LKGroupChatAPI.publicChatServer in:transaction]; - }]; + BOOL isModerator = [LKGroupChatAPI isUserModerator:self.ourHexEncodedPublicKey forGroup:LKGroupChatAPI.publicChatServerID onServer: LKGroupChatAPI.publicChatServer]; + if (!isModerator) return false; } diff --git a/SignalServiceKit/src/Loki/API/LokiGroupChatAPI.swift b/SignalServiceKit/src/Loki/API/LokiGroupChatAPI.swift index 4fdae54a6..be01d346f 100644 --- a/SignalServiceKit/src/Loki/API/LokiGroupChatAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiGroupChatAPI.swift @@ -259,6 +259,7 @@ public final class LokiGroupChatAPI : NSObject { } } + @objc (isUserModerator:forGroup:onServer:) public static func isUserModerator(user hexEncodedPublicString: String, for group: UInt64, on server: String) -> Bool { return self.moderators[server]?[group]?.contains(hexEncodedPublicString) ?? false } diff --git a/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.h b/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.h index 528b70213..6b8487039 100644 --- a/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.h +++ b/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.h @@ -99,8 +99,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)setIDForMessageWithServerID:(NSUInteger)serverID to:(NSString *)messageID in:(YapDatabaseReadWriteTransaction *)transaction; - (NSString *_Nullable)getIDForMessageWithServerID:(NSUInteger)serverID in:(YapDatabaseReadTransaction *)transaction; -- (void)setIsModerator:(BOOL)isModerator forGroup:(NSUInteger)group onServer:(NSString *)server in:(YapDatabaseReadWriteTransaction *)transaction NS_SWIFT_NAME(setIsModerator(_:for:on:in:)); -- (BOOL)isModeratorForGroup:(NSUInteger)group onServer:(NSString *)server in:(YapDatabaseReadTransaction *)transaction NS_SWIFT_NAME(isModerator(for:on:in:)); @end diff --git a/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.m b/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.m index fa89c1386..dded713a4 100644 --- a/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.m +++ b/SignalServiceKit/src/Loki/Crypto/OWSPrimaryStorage+Loki.m @@ -176,14 +176,4 @@ return [transaction objectForKey:key inCollection:LKMessageIDCollection]; } -- (void)setIsModerator:(BOOL)isModerator forGroup:(NSUInteger)group onServer:(NSString *)server in:(YapDatabaseReadWriteTransaction *)transaction { - NSString *key = [NSString stringWithFormat:@"%@.%@", server, @(group)]; - [transaction setBool:isModerator forKey:key inCollection:LKModerationPermissionCollection]; -} - -- (BOOL)isModeratorForGroup:(NSUInteger)group onServer:(NSString *)server in:(YapDatabaseReadTransaction *)transaction NS_SWIFT_NAME(isModerator(for:on:in:)) { - NSString *key = [NSString stringWithFormat:@"%@.%@", server, @(group)]; - return [transaction boolForKey:key inCollection:LKModerationPermissionCollection defaultValue:false]; -} - @end