diff options
author | Vitor Mattos <vitor@php.rio> | 2021-12-01 08:18:32 -0300 |
---|---|---|
committer | Vitor Mattos <vitor@php.rio> | 2021-12-02 12:27:26 -0300 |
commit | c9cf44e9309f6797e0b18bed48061f74328d01ab (patch) | |
tree | 350c6545723164278eda319651331c992728c4d3 /lib/Listener | |
parent | 1df244fde66aef14d1218596dcba569c4c7960b0 (diff) |
Add command to remove users from all rooms
Signed-off-by: Vitor Mattos <vitor@php.rio>
Diffstat (limited to 'lib/Listener')
-rw-r--r-- | lib/Listener/UserDeletedListener.php | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/lib/Listener/UserDeletedListener.php b/lib/Listener/UserDeletedListener.php index c93a106bd..a96c695c4 100644 --- a/lib/Listener/UserDeletedListener.php +++ b/lib/Listener/UserDeletedListener.php @@ -24,8 +24,6 @@ declare(strict_types=1); namespace OCA\Talk\Listener; use OCA\Talk\Manager; -use OCA\Talk\Room; -use OCA\Talk\Service\ParticipantService; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\User\Events\UserDeletedEvent; @@ -34,13 +32,9 @@ class UserDeletedListener implements IEventListener { /** @var Manager */ private $manager; - /** @var ParticipantService */ - private $participantService; - public function __construct(Manager $manager, - ParticipantService $participantService) { + public function __construct(Manager $manager) { $this->manager = $manager; - $this->participantService = $participantService; } public function handle(Event $event): void { @@ -50,22 +44,6 @@ class UserDeletedListener implements IEventListener { } $user = $event->getUser(); - - $rooms = $this->manager->getRoomsForUser($user->getUID()); - foreach ($rooms as $room) { - if ($this->participantService->getNumberOfUsers($room) === 1) { - $room->deleteRoom(); - } else { - $this->participantService->removeUser($room, $user, Room::PARTICIPANT_REMOVED); - } - } - - $leftRooms = $this->manager->getLeftOneToOneRoomsForUser($user->getUID()); - foreach ($leftRooms as $room) { - // We are changing the room type and name so a potential follow up - // user with the same user-id can not reopen the one-to-one conversation. - $room->setType(Room::TYPE_GROUP, true); - $room->setName($user->getDisplayName(), ''); - } + $this->manager->removeUserFromAllRooms($user); } } |