Dispatch UserRemovedEvents for removed groups

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet 2023-08-07 11:20:05 +02:00
parent c33c40f677
commit ad1e487f67
No known key found for this signature in database
GPG key ID: A3E2F658B28C760A

View file

@ -175,6 +175,18 @@ class UpdateGroupsService {
$this->logger->debug('service "updateGroups" dealing with removed groups.');
$this->groupMembershipMapper->deleteGroups($removedGroups);
foreach ($removedGroups as $group) {
$groupObject = $this->groupManager->get($group);
if ($groupObject instanceof IGroup) {
$groupMemberships = $this->groupMembershipMapper->findGroupMemberships($group);
foreach ($groupMemberships as $groupMembership) {
$userObject = $this->userManager->get($groupMembership->getUserid());
if ($userObject instanceof IUser) {
$this->dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject));
}
}
}
}
//TODO find a way to dispatch GroupDeletedEvent