]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java
Fix graalvm native build
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / ManagerImpl.java
index aa4752a2644e0e4b4f7100e8ff334e6f3edd4b94..addc3bb7f1cd8faf76b341611494235236698257 100644 (file)
@@ -348,6 +348,11 @@ class ManagerImpl implements Manager {
 
     @Override
     public void deleteGroup(GroupId groupId) throws IOException {
+        final var group = context.getGroupHelper().getGroup(groupId);
+        if (group.isMember(account.getSelfRecipientId())) {
+            throw new IOException(
+                    "The local group information cannot be removed, as the user is still a member of the group");
+        }
         context.getGroupHelper().deleteGroup(groupId);
     }
 
@@ -381,6 +386,12 @@ class ManagerImpl implements Manager {
                         updateGroup.getRemoveAdmins() == null
                                 ? null
                                 : context.getRecipientHelper().resolveRecipients(updateGroup.getRemoveAdmins()),
+                        updateGroup.getBanMembers() == null
+                                ? null
+                                : context.getRecipientHelper().resolveRecipients(updateGroup.getBanMembers()),
+                        updateGroup.getUnbanMembers() == null
+                                ? null
+                                : context.getRecipientHelper().resolveRecipients(updateGroup.getUnbanMembers()),
                         updateGroup.isResetGroupLink(),
                         updateGroup.getGroupLinkState(),
                         updateGroup.getAddMemberPermission(),