summaryrefslogtreecommitdiffstats
path: root/lib/Listener
diff options
context:
space:
mode:
authorVitor Mattos <vitor@php.rio>2021-12-01 08:18:32 -0300
committerVitor Mattos <vitor@php.rio>2021-12-02 12:27:26 -0300
commitc9cf44e9309f6797e0b18bed48061f74328d01ab (patch)
tree350c6545723164278eda319651331c992728c4d3 /lib/Listener
parent1df244fde66aef14d1218596dcba569c4c7960b0 (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.php26
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);
}
}