core, ios: allow moderators to delete messages and block members (#6064)

* core: allow moderators to delete messages and block members

* ios: moderator
This commit is contained in:
Evgeny
2025-07-14 08:02:29 +01:00
committed by GitHub
parent caf3d55af8
commit dd3943d994
5 changed files with 10 additions and 11 deletions
+2 -3
View File
@@ -1672,8 +1672,7 @@ processChatCommand vr nm = \case
gInfo <- withFastStore $ \db -> getGroupInfo db vr user gId
m <- withFastStore $ \db -> getGroupMember db vr user gId mId
let GroupInfo {membership = GroupMember {memberRole = membershipRole}} = gInfo
-- TODO GRModerator when most users migrate
when (membershipRole >= GRAdmin) $ throwChatError $ CECantBlockMemberForSelf gInfo m showMessages
when (membershipRole >= GRModerator) $ throwChatError $ CECantBlockMemberForSelf gInfo m showMessages
let settings = (memberSettings m) {showMessages}
processChatCommand vr nm $ APISetMemberSettings gId mId settings
ContactInfo cName -> withContactName cName APIContactInfo
@@ -3200,7 +3199,7 @@ processChatCommand vr nm = \case
delGroupChatItemsForMembers :: User -> GroupInfo -> Maybe GroupChatScopeInfo -> [GroupMember] -> [CChatItem 'CTGroup] -> CM [ChatItemDeletion]
delGroupChatItemsForMembers user gInfo chatScopeInfo ms items = do
assertDeletable gInfo items
assertUserGroupRole gInfo GRAdmin -- TODO GRModerator when most users migrate
assertUserGroupRole gInfo GRModerator
let msgMemIds = itemsMsgMemIds gInfo items
events = L.nonEmpty $ map (\(msgId, memId) -> XMsgDel msgId (Just memId) $ toMsgScope gInfo <$> chatScopeInfo) msgMemIds
mapM_ (sendGroupMessages_ user gInfo ms) events