diff options
author | Joas Schilling <coding@schilljs.com> | 2019-12-03 15:48:13 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2019-12-04 10:36:59 +0300 |
commit | 81db771748c2a35c0d953d608c9996a3cdf02102 (patch) | |
tree | 7cb291a5df69ce3d60ac0bc71e577af09c8d8e28 /lib | |
parent | 0e1d2b39b92c77d2c58ef60c525677957713e546 (diff) |
Add constants for event names and use pattern
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Activity/Listener.php | 10 | ||||
-rw-r--r-- | lib/AppInfo/Application.php | 6 | ||||
-rw-r--r-- | lib/Chat/Changelog/Listener.php | 2 | ||||
-rw-r--r-- | lib/Chat/ChatManager.php | 20 | ||||
-rw-r--r-- | lib/Chat/Command/Executor.php | 4 | ||||
-rw-r--r-- | lib/Chat/Command/Listener.php | 2 | ||||
-rw-r--r-- | lib/Chat/MessageParser.php | 4 | ||||
-rw-r--r-- | lib/Chat/Parser/Listener.php | 8 | ||||
-rw-r--r-- | lib/Chat/SystemMessage/Listener.php | 34 | ||||
-rw-r--r-- | lib/Collaboration/Resources/Listener.php | 14 | ||||
-rw-r--r-- | lib/Controller/RoomController.php | 9 | ||||
-rw-r--r-- | lib/Controller/SignalingController.php | 4 | ||||
-rw-r--r-- | lib/Files/Listener.php | 4 | ||||
-rw-r--r-- | lib/GuestManager.php | 10 | ||||
-rw-r--r-- | lib/Listener/RestrictStartingCalls.php | 2 | ||||
-rw-r--r-- | lib/Manager.php | 6 | ||||
-rw-r--r-- | lib/Notification/Listener.php | 8 | ||||
-rw-r--r-- | lib/PublicShareAuth/Listener.php | 12 | ||||
-rw-r--r-- | lib/Room.php | 120 | ||||
-rw-r--r-- | lib/Share/RoomShareProvider.php | 6 | ||||
-rw-r--r-- | lib/Signaling/Listener.php | 62 |
21 files changed, 185 insertions, 162 deletions
diff --git a/lib/Activity/Listener.php b/lib/Activity/Listener.php index e2bb53946..d7db36a98 100644 --- a/lib/Activity/Listener.php +++ b/lib/Activity/Listener.php @@ -69,23 +69,23 @@ class Listener { $listener = \OC::$server->query(self::class); $listener->setActive($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postSessionJoinCall', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener); $listener = static function(RoomEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->generateCallActivity($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postRemoveBySession', $listener); - $dispatcher->addListener(Room::class . '::postRemoveUser', $listener); - $dispatcher->addListener(Room::class . '::postSessionLeaveCall', $listener, -100); + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_LEAVE_CALL, $listener, -100); $listener = static function(AddParticipantsEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->generateInvitationActivity($event->getRoom(), $event->getParticipants()); }; - $dispatcher->addListener(Room::class . '::postAddUsers', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, $listener); } public function setActive(Room $room): void { diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 81bae9319..e9daa42a4 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -153,8 +153,8 @@ class Application extends App { $room->setLastActivity($timeFactory->getDateTime()); }; - $dispatcher->addListener(ChatManager::class . '::postSendMessage', $listener); - $dispatcher->addListener(ChatManager::class . '::postSendSystemMessage', $listener); + $dispatcher->addListener(ChatManager::EVENT_AFTER_MESSAGE_SEND, $listener); + $dispatcher->addListener(ChatManager::EVENT_AFTER_SYSTEM_MESSAGE_SEND, $listener); } protected function registerChatHooks(IEventDispatcher $dispatcher): void { @@ -163,6 +163,6 @@ class Application extends App { $chatManager = $this->getContainer()->query(ChatManager::class); $chatManager->deleteMessages($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postDeleteRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DELETE, $listener); } } diff --git a/lib/Chat/Changelog/Listener.php b/lib/Chat/Changelog/Listener.php index a24d108eb..8ce066b27 100644 --- a/lib/Chat/Changelog/Listener.php +++ b/lib/Chat/Changelog/Listener.php @@ -29,7 +29,7 @@ use OCP\EventDispatcher\IEventDispatcher; class Listener { public static function register(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(RoomController::class . '::preGetRooms', static function(UserEvent $event) { + $dispatcher->addListener(RoomController::EVENT_BEFORE_ROOMS_GET, static function(UserEvent $event) { $userId = $event->getUserId(); /** @var Listener $listener */ diff --git a/lib/Chat/ChatManager.php b/lib/Chat/ChatManager.php index 83752aea2..75cafecd1 100644 --- a/lib/Chat/ChatManager.php +++ b/lib/Chat/ChatManager.php @@ -46,6 +46,11 @@ use OCP\IUser; */ class ChatManager { + public const EVENT_BEFORE_SYSTEM_MESSAGE_SEND = self::class . '::preSendSystemMessage'; + public const EVENT_AFTER_SYSTEM_MESSAGE_SEND = self::class . '::postSendSystemMessage'; + public const EVENT_BEFORE_MESSAGE_SEND = self::class . '::preSendMessage'; + public const EVENT_AFTER_MESSAGE_SEND = self::class . '::postSendMessage'; + public const MAX_CHAT_LENGTH = 32000; /** @var CommentsManager|ICommentsManager */ @@ -83,6 +88,9 @@ class ChatManager { $comment->setMessage($message, self::MAX_CHAT_LENGTH); $comment->setCreationDateTime($creationDateTime); $comment->setVerb('system'); + + $event = new ChatEvent($chat, $comment); + $this->dispatcher->dispatch(self::EVENT_BEFORE_SYSTEM_MESSAGE_SEND, $event); try { $this->commentsManager->save($comment); @@ -93,8 +101,7 @@ class ChatManager { $this->notifier->notifyOtherParticipant($chat, $comment, []); } - $event = new ChatEvent($chat, $comment); - $this->dispatcher->dispatch(self::class . '::postSendSystemMessage', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_SYSTEM_MESSAGE_SEND, $event); } catch (NotFoundException $e) { } @@ -115,14 +122,15 @@ class ChatManager { $comment->setCreationDateTime($this->timeFactory->getDateTime()); $comment->setVerb('comment'); // Has to be comment, so it counts as unread message + $event = new ChatEvent($chat, $comment); + $this->dispatcher->dispatch(self::EVENT_BEFORE_SYSTEM_MESSAGE_SEND, $event); try { $this->commentsManager->save($comment); // Update last_message $chat->setLastMessage($comment); - $event = new ChatEvent($chat, $comment); - $this->dispatcher->dispatch(self::class . '::postSendSystemMessage', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_SYSTEM_MESSAGE_SEND, $event); } catch (NotFoundException $e) { } @@ -154,7 +162,7 @@ class ChatManager { } $event = new ChatParticipantEvent($chat, $comment, $participant); - $this->dispatcher->dispatch(self::class . '::preSendMessage', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_MESSAGE_SEND, $event); try { $this->commentsManager->save($comment); @@ -175,7 +183,7 @@ class ChatManager { // User was not mentioned, send a normal notification $this->notifier->notifyOtherParticipant($chat, $comment, $alreadyNotifiedUsers); - $this->dispatcher->dispatch(self::class . '::postSendMessage', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_MESSAGE_SEND, $event); } catch (NotFoundException $e) { } diff --git a/lib/Chat/Command/Executor.php b/lib/Chat/Command/Executor.php index a6f45bc26..661ecbd0c 100644 --- a/lib/Chat/Command/Executor.php +++ b/lib/Chat/Command/Executor.php @@ -36,6 +36,8 @@ use OCP\ILogger; class Executor { + public const EVENT_APP_EXECUTE = self::class . '::execApp'; + public const PLACEHOLDER_ROOM = '{ROOM}'; public const PLACEHOLDER_USER = '{USER}'; public const PLACEHOLDER_ARGUMENTS = '{ARGUMENTS}'; @@ -172,7 +174,7 @@ class Executor { protected function execApp(Room $room, IComment $message, Command $command, string $arguments): string { $event = $this->createEvent($room, $message, $command, $arguments); - $this->dispatcher->dispatch(self::class . '::execApp', $event); + $this->dispatcher->dispatch(self::EVENT_APP_EXECUTE, $event); return $event->getOutput(); } diff --git a/lib/Chat/Command/Listener.php b/lib/Chat/Command/Listener.php index 5342d3d9f..cb370dbf6 100644 --- a/lib/Chat/Command/Listener.php +++ b/lib/Chat/Command/Listener.php @@ -44,7 +44,7 @@ class Listener { } public static function register(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(ChatManager::class . '::preSendMessage', static function(ChatParticipantEvent $event) { + $dispatcher->addListener(ChatManager::EVENT_BEFORE_MESSAGE_SEND, static function(ChatParticipantEvent $event) { $message = $event->getComment(); $participant = $event->getParticipant(); diff --git a/lib/Chat/MessageParser.php b/lib/Chat/MessageParser.php index eeb3c7de1..ba46c718b 100644 --- a/lib/Chat/MessageParser.php +++ b/lib/Chat/MessageParser.php @@ -41,6 +41,8 @@ use OCP\IUserManager; */ class MessageParser { + public const EVENT_MESSAGE_PARSE = self::class . '::parseMessage'; + /** @var IEventDispatcher */ private $dispatcher; @@ -71,7 +73,7 @@ class MessageParser { $this->setActor($message); $event = new ChatMessageEvent($message); - $this->dispatcher->dispatch(self::class . '::parseMessage', $event); + $this->dispatcher->dispatch(self::EVENT_MESSAGE_PARSE, $event); } protected function setActor(Message $message): void { diff --git a/lib/Chat/Parser/Listener.php b/lib/Chat/Parser/Listener.php index c17b0ff27..fbda032e6 100644 --- a/lib/Chat/Parser/Listener.php +++ b/lib/Chat/Parser/Listener.php @@ -30,7 +30,7 @@ use OCP\EventDispatcher\IEventDispatcher; class Listener { public static function register(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(MessageParser::class . '::parseMessage', static function(ChatMessageEvent $event) { + $dispatcher->addListener(MessageParser::EVENT_MESSAGE_PARSE, static function(ChatMessageEvent $event) { $message = $event->getMessage(); if ($message->getMessageType() !== 'comment') { @@ -42,7 +42,7 @@ class Listener { $parser->parseMessage($message); }, -100); - $dispatcher->addListener(MessageParser::class . '::parseMessage', static function(ChatMessageEvent $event) { + $dispatcher->addListener(MessageParser::EVENT_MESSAGE_PARSE, static function(ChatMessageEvent $event) { $message = $event->getMessage(); if ($message->getMessageType() !== 'comment') { @@ -59,7 +59,7 @@ class Listener { } }, -75); - $dispatcher->addListener(MessageParser::class . '::parseMessage', static function(ChatMessageEvent $event) { + $dispatcher->addListener(MessageParser::EVENT_MESSAGE_PARSE, static function(ChatMessageEvent $event) { $message = $event->getMessage(); if ($message->getMessageType() !== 'system') { @@ -77,7 +77,7 @@ class Listener { } }); - $dispatcher->addListener(MessageParser::class . '::parseMessage', static function(ChatMessageEvent $event) { + $dispatcher->addListener(MessageParser::EVENT_MESSAGE_PARSE, static function(ChatMessageEvent $event) { $chatMessage = $event->getMessage(); if ($chatMessage->getMessageType() !== 'command') { diff --git a/lib/Chat/SystemMessage/Listener.php b/lib/Chat/SystemMessage/Listener.php index e6c652db0..71ea8c625 100644 --- a/lib/Chat/SystemMessage/Listener.php +++ b/lib/Chat/SystemMessage/Listener.php @@ -65,7 +65,7 @@ class Listener { } public static function register(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(Room::class . '::preSessionJoinCall', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_BEFORE_SESSION_JOIN_CALL, static function(ModifyParticipantEvent $event) { $room = $event->getRoom(); /** @var self $listener */ $listener = \OC::$server->query(self::class); @@ -76,7 +76,7 @@ class Listener { $listener->sendSystemMessage($room, 'call_started'); } }); - $dispatcher->addListener(Room::class . '::postSessionLeaveCall', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_LEAVE_CALL, static function(ModifyParticipantEvent $event) { $room = $event->getRoom(); /** @var self $listener */ $listener = \OC::$server->query(self::class); @@ -84,14 +84,14 @@ class Listener { $listener->sendSystemMessage($room, 'call_left'); }); - $dispatcher->addListener(Room::class . '::createdRoom', static function(RoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_CREATE, static function(RoomEvent $event) { $room = $event->getRoom(); /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->sendSystemMessage($room, 'conversation_created'); }); - $dispatcher->addListener(Room::class . '::postSetName', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_NAME_SET, static function(ModifyRoomEvent $event) { if ($event->getOldValue() === '' || $event->getNewValue() === '') { return; @@ -106,7 +106,7 @@ class Listener { 'oldName' => $event->getOldValue(), ]); }); - $dispatcher->addListener(Room::class . '::postSetPassword', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_PASSWORD_SET, static function(ModifyRoomEvent $event) { $room = $event->getRoom(); /** @var self $listener */ $listener = \OC::$server->query(self::class); @@ -117,7 +117,7 @@ class Listener { $listener->sendSystemMessage($room, 'password_removed'); } }); - $dispatcher->addListener(Room::class . '::postSetType', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_TYPE_SET, static function(ModifyRoomEvent $event) { $room = $event->getRoom(); if ($event->getNewValue() === Room::PUBLIC_CALL) { @@ -130,7 +130,7 @@ class Listener { $listener->sendSystemMessage($room, 'guests_disallowed'); } }); - $dispatcher->addListener(Room::class . '::postSetReadOnly', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_READONLY_SET, static function(ModifyRoomEvent $event) { $room = $event->getRoom(); if ($room->getType() === Room::CHANGELOG_CONVERSATION) { @@ -146,7 +146,7 @@ class Listener { $listener->sendSystemMessage($room, 'read_only_off'); } }); - $dispatcher->addListener(Room::class . '::postSetLobbyState', static function(ModifyLobbyEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_LOBBY_STATE_SET, static function(ModifyLobbyEvent $event) { if ($event->getNewValue() === $event->getOldValue()) { return; } @@ -165,7 +165,7 @@ class Listener { } }); - $dispatcher->addListener(Room::class . '::postAddUsers', static function(AddParticipantsEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, static function(AddParticipantsEvent $event) { $participants = $event->getParticipants(); $user = \OC::$server->getUserSession()->getUser(); $userId = $user instanceof IUser ? $user->getUID() : null; @@ -186,7 +186,7 @@ class Listener { } } }); - $dispatcher->addListener(Room::class . '::postRemoveUser', static function(RemoveUserEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, static function(RemoveUserEvent $event) { $room = $event->getRoom(); if ($room->getType() === Room::ONE_TO_ONE_CALL) { @@ -197,7 +197,7 @@ class Listener { $listener = \OC::$server->query(self::class); $listener->sendSystemMessage($room, 'user_removed', ['user' => $event->getUser()->getUID()]); }); - $dispatcher->addListener(Room::class . '::postSetParticipantType', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_TYPE_SET, static function(ModifyParticipantEvent $event) { $room = $event->getRoom(); if ($event->getNewValue() === Participant::MODERATOR) { @@ -208,20 +208,14 @@ class Listener { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->sendSystemMessage($room, 'moderator_demoted', ['user' => $event->getParticipant()->getUser()]); - } - }); - $dispatcher->addListener(Room::class . '::postSetParticipantTypeBySession', static function(ModifyParticipantEvent $event) { - $room = $event->getRoom(); - $participant = $event->getParticipant(); - - if ($event->getNewValue() === Participant::GUEST_MODERATOR) { + } else if ($event->getNewValue() === Participant::GUEST_MODERATOR) { /** @var self $listener */ $listener = \OC::$server->query(self::class); - $listener->sendSystemMessage($room, 'guest_moderator_promoted', ['session' => sha1($participant->getSessionId())]); + $listener->sendSystemMessage($room, 'guest_moderator_promoted', ['session' => sha1($event->getParticipant()->getSessionId())]); } else if ($event->getNewValue() === Participant::GUEST) { /** @var self $listener */ $listener = \OC::$server->query(self::class); - $listener->sendSystemMessage($room, 'guest_moderator_demoted', ['session' => sha1($participant->getSessionId())]); + $listener->sendSystemMessage($room, 'guest_moderator_demoted', ['session' => sha1($event->getParticipant()->getSessionId())]); } }); $listener = function(GenericEvent $event) { diff --git a/lib/Collaboration/Resources/Listener.php b/lib/Collaboration/Resources/Listener.php index 74493aead..55f600c12 100644 --- a/lib/Collaboration/Resources/Listener.php +++ b/lib/Collaboration/Resources/Listener.php @@ -22,10 +22,12 @@ declare(strict_types=1); namespace OCA\Talk\Collaboration\Resources; +use OCA\Talk\Events\AddEmailEvent; use OCA\Talk\Events\AddParticipantsEvent; use OCA\Talk\Events\RemoveParticipantEvent; use OCA\Talk\Events\RemoveUserEvent; use OCA\Talk\Events\RoomEvent; +use OCA\Talk\GuestManager; use OCA\Talk\Room; use OCP\Collaboration\Resources\IManager; use OCP\Collaboration\Resources\ResourceException; @@ -46,7 +48,7 @@ class Listener { } $resourceManager->invalidateAccessCacheForResource($resource); }; - $dispatcher->addListener(Room::class . '::postDeleteRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DELETE, $listener); $listener = static function(AddParticipantsEvent $event) { $room = $event->getRoom(); @@ -70,7 +72,7 @@ class Listener { $resourceManager->invalidateAccessCacheForResourceByUser($resource, $user); } }; - $dispatcher->addListener(Room::class . '::postAddUsers', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, $listener); $listener = static function(RemoveUserEvent $event) { $room = $event->getRoom(); @@ -84,7 +86,7 @@ class Listener { $resourceManager->invalidateAccessCacheForResourceByUser($resource, $event->getUser()); }; - $dispatcher->addListener(Room::class . '::postRemoveUser', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, $listener); $listener = static function(RemoveParticipantEvent $event) { $room = $event->getRoom(); @@ -102,7 +104,7 @@ class Listener { $user = $userManager->get($participant->getUser()); $resourceManager->invalidateAccessCacheForResourceByUser($resource, $user); }; - $dispatcher->addListener(Room::class . '::postRemoveBySession', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, $listener); $listener = static function(RoomEvent $event) { $room = $event->getRoom(); @@ -116,7 +118,7 @@ class Listener { } $resourceManager->invalidateAccessCacheForResourceByUser($resource, null); }; - $dispatcher->addListener(Room::class . '::postSetType', $listener); - $dispatcher->addListener(Room::class . '::postInviteByEmail', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_TYPE_SET, $listener); + $dispatcher->addListener(GuestManager::EVENT_AFTER_EMAIL_INVITE, $listener); } } diff --git a/lib/Controller/RoomController.php b/lib/Controller/RoomController.php index 5201cd3c7..787b8c7ff 100644 --- a/lib/Controller/RoomController.php +++ b/lib/Controller/RoomController.php @@ -52,6 +52,9 @@ use OCP\IGroup; use OCP\IGroupManager; class RoomController extends AEnvironmentAwareController { + + public const EVENT_BEFORE_ROOMS_GET = self::class . '::preGetRooms'; + /** @var string|null */ private $userId; /** @var TalkSession */ @@ -111,7 +114,7 @@ class RoomController extends AEnvironmentAwareController { */ public function getRooms(): DataResponse { $event = new UserEvent($this->userId); - $this->dispatcher->dispatch(self::class . '::preGetRooms', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_ROOMS_GET, $event); $rooms = $this->manager->getRoomsForParticipant($this->userId, true); @@ -949,7 +952,7 @@ class RoomController extends AEnvironmentAwareController { return new DataResponse([], Http::STATUS_BAD_REQUEST); } - $room->setParticipantTypeBySession($targetParticipant, Participant::GUEST_MODERATOR); + $room->setParticipantType($targetParticipant, Participant::GUEST_MODERATOR); return new DataResponse(); } @@ -1005,7 +1008,7 @@ class RoomController extends AEnvironmentAwareController { return new DataResponse([], Http::STATUS_BAD_REQUEST); } - $room->setParticipantTypeBySession($targetParticipant, Participant::GUEST); + $room->setParticipantType($targetParticipant, Participant::GUEST); return new DataResponse(); } diff --git a/lib/Controller/SignalingController.php b/lib/Controller/SignalingController.php index ec25ea3e1..8bf0f372b 100644 --- a/lib/Controller/SignalingController.php +++ b/lib/Controller/SignalingController.php @@ -48,6 +48,8 @@ class SignalingController extends OCSController { /** @var int */ private const PULL_MESSAGES_TIMEOUT = 30; + public const EVENT_BACKEND_SIGNALING_ROOMS = self::class . '::signalingBackendRoom'; + /** @var Config */ private $config; /** @var TalkSession */ @@ -427,7 +429,7 @@ class SignalingController extends OCSController { } $event = new SignalingEvent($room, $participant, $action); - $this->dispatcher->dispatch(self::class . '::signalingBackendRoom', $event); + $this->dispatcher->dispatch(self::EVENT_BACKEND_SIGNALING_ROOMS, $event); $response = [ 'type' => 'room', diff --git a/lib/Files/Listener.php b/lib/Files/Listener.php index 7b71ef820..d7cb4e8db 100644 --- a/lib/Files/Listener.php +++ b/lib/Files/Listener.php @@ -72,7 +72,7 @@ class Listener { $event->setCancelJoin(true); } }; - $dispatcher->addListener(Room::class . '::preJoinRoom', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_ROOM_CONNECT, $listener); $listener = static function(JoinRoomGuestEvent $event) { /** @var self $listener */ @@ -84,7 +84,7 @@ class Listener { $event->setCancelJoin( true); } }; - $dispatcher->addListener(Room::class . '::preJoinRoomGuest', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_GUEST_CONNECT, $listener); } /** diff --git a/lib/GuestManager.php b/lib/GuestManager.php index 1ccd0a878..e631fbbdd 100644 --- a/lib/GuestManager.php +++ b/lib/GuestManager.php @@ -39,6 +39,10 @@ use OCP\Util; class GuestManager { + public const EVENT_BEFORE_EMAIL_INVITE = self::class . '::preInviteByEmail'; + public const EVENT_AFTER_EMAIL_INVITE = self::class . '::postInviteByEmail'; + public const EVENT_AFTER_NAME_UPDATE = self::class . '::updateName'; + /** @var IDBConnection */ protected $connection; @@ -107,7 +111,7 @@ class GuestManager { if ($dispatchEvent) { $event = new ModifyParticipantEvent($room, $participant, 'name', $displayName); - $this->dispatcher->dispatch(self::class . '::updateName', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_NAME_UPDATE, $event); } } @@ -161,7 +165,7 @@ class GuestManager { public function inviteByEmail(Room $room, string $email): void { $event = new AddEmailEvent($room, $email); - $this->dispatcher->dispatch(self::class . '::preInviteByEmail', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_EMAIL_INVITE, $event); $link = $this->url->linkToRouteAbsolute('spreed.pagecontroller.showCall', ['token' => $room->getToken()]); @@ -204,7 +208,7 @@ class GuestManager { try { $this->mailer->send($message); - $this->dispatcher->dispatch(self::class . '::postInviteByEmail', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_EMAIL_INVITE, $event); } catch (\Exception $e) { } } diff --git a/lib/Listener/RestrictStartingCalls.php b/lib/Listener/RestrictStartingCalls.php index 1188215fd..f77ff3f4c 100644 --- a/lib/Listener/RestrictStartingCalls.php +++ b/lib/Listener/RestrictStartingCalls.php @@ -39,7 +39,7 @@ class RestrictStartingCalls { } public static function register(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(Room::class . '::preSessionJoinCall', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_BEFORE_SESSION_JOIN_CALL, static function(ModifyParticipantEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->checkStartCallPermissions($event); diff --git a/lib/Manager.php b/lib/Manager.php index 8a7e01471..85cbbf988 100644 --- a/lib/Manager.php +++ b/lib/Manager.php @@ -44,6 +44,8 @@ use OCP\Security\ISecureRandom; class Manager { + public const EVENT_TOKEN_GENERATE = self::class . '::generateNewToken'; + /** @var IDBConnection */ private $db; /** @var IConfig */ @@ -618,7 +620,7 @@ class Manager { $room = $this->getRoomById($roomId); $event = new RoomEvent($room); - $this->dispatcher->dispatch(Room::class . '::createdRoom', $event); + $this->dispatcher->dispatch(Room::EVENT_AFTER_ROOM_CREATE, $event); return $room; } @@ -802,7 +804,7 @@ class Manager { protected function generateNewToken(IQueryBuilder $query, int $entropy, string $chars): string { $event = new CreateRoomTokenEvent($entropy, $chars); - $this->dispatcher->dispatch(self::class . '::generateNewToken', $event); + $this->dispatcher->dispatch(self::EVENT_TOKEN_GENERATE, $event); try { $token = $event->getToken(); if ($token === '') { diff --git a/lib/Notification/Listener.php b/lib/Notification/Listener.php index f272335ac..cb2a56cf7 100644 --- a/lib/Notification/Listener.php +++ b/lib/Notification/Listener.php @@ -66,28 +66,28 @@ class Listener { $listener = \OC::$server->query(self::class); $listener->generateInvitation($room, $event->getParticipants()); }; - $dispatcher->addListener(Room::class . '::postAddUsers', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, $listener); $listener = static function(JoinRoomUserEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->markInvitationRead($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postJoinRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_CONNECT, $listener); $listener = static function(RoomEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->generateCallNotifications($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::preSessionJoinCall', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_SESSION_JOIN_CALL, $listener); $listener = static function(RoomEvent $event) { /** @var self $listener */ $listener = \OC::$server->query(self::class); $listener->markCallNotificationsRead($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postSessionJoinCall', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener); } /** diff --git a/lib/PublicShareAuth/Listener.php b/lib/PublicShareAuth/Listener.php index 433dc41c8..35a6cb7f4 100644 --- a/lib/PublicShareAuth/Listener.php +++ b/lib/PublicShareAuth/Listener.php @@ -50,20 +50,20 @@ class Listener { $listener = static function(JoinRoomUserEvent $event) { self::preventExtraUsersFromJoining($event->getRoom(), $event->getUser()->getUID()); }; - $dispatcher->addListener(Room::class . '::preJoinRoom', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_ROOM_CONNECT, $listener); $listener = static function(JoinRoomGuestEvent $event) { self::preventExtraGuestsFromJoining($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::preJoinRoomGuest', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_GUEST_CONNECT, $listener); $listener = static function(RoomEvent $event) { self::destroyRoomOnParticipantLeave($event->getRoom()); }; - $dispatcher->addListener(Room::class . '::postRemoveUser', $listener); - $dispatcher->addListener(Room::class . '::postRemoveBySession', $listener); - $dispatcher->addListener(Room::class . '::postUserDisconnectRoom', $listener); - $dispatcher->addListener(Room::class . '::postCleanGuests', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DISCONNECT, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_GUESTS_CLEAN, $listener); } /** diff --git a/lib/Room.php b/lib/Room.php index 821155712..fa6769e92 100644 --- a/lib/Room.php +++ b/lib/Room.php @@ -66,6 +66,41 @@ class Room { public const PARTICIPANT_REMOVED = 'remove'; public const PARTICIPANT_LEFT = 'leave'; + public const EVENT_AFTER_ROOM_CREATE = self::class . '::createdRoom'; + public const EVENT_BEFORE_ROOM_DELETE = self::class . '::preDeleteRoom'; + public const EVENT_AFTER_ROOM_DELETE = self::class . '::postDeleteRoom'; + public const EVENT_BEFORE_NAME_SET = self::class . '::preSetName'; + public const EVENT_AFTER_NAME_SET = self::class . '::postSetName'; + public const EVENT_BEFORE_PASSWORD_SET = self::class . '::preSetPassword'; + public const EVENT_AFTER_PASSWORD_SET = self::class . '::postSetPassword'; + public const EVENT_BEFORE_TYPE_SET = self::class . '::preSetType'; + public const EVENT_AFTER_TYPE_SET = self::class . '::postSetType'; + public const EVENT_BEFORE_READONLY_SET = self::class . '::preSetReadOnly'; + public const EVENT_AFTER_READONLY_SET = self::class . '::postSetReadOnly'; + public const EVENT_BEFORE_LOBBY_STATE_SET = self::class . '::preSetLobbyState'; + public const EVENT_AFTER_LOBBY_STATE_SET = self::class . '::postSetLobbyState'; + public const EVENT_BEFORE_USERS_ADD = self::class . '::preAddUsers'; + public const EVENT_AFTER_USERS_ADD = self::class . '::postAddUsers'; + public const EVENT_BEFORE_PARTICIPANT_TYPE_SET = self::class . '::preSetParticipantType'; + public const EVENT_AFTER_PARTICIPANT_TYPE_SET = self::class . '::postSetParticipantType'; + public const EVENT_BEFORE_USER_REMOVE = self::class . '::preRemoveUser'; + public const EVENT_AFTER_USER_REMOVE = self::class . '::postRemoveUser'; + public const EVENT_BEFORE_PARTICIPANT_REMOVE = self::class . '::preRemoveBySession'; + public const EVENT_AFTER_PARTICIPANT_REMOVE = self::class . '::postRemoveBySession'; + public const EVENT_BEFORE_ROOM_CONNECT = self::class . '::preJoinRoom'; + public const EVENT_AFTER_ROOM_CONNECT = self::class . '::postJoinRoom'; + public const EVENT_BEFORE_ROOM_DISCONNECT = self::class . '::preUserDisconnectRoom'; + public const EVENT_AFTER_ROOM_DISCONNECT = self::class . '::postUserDisconnectRoom'; + public const EVENT_BEFORE_GUEST_CONNECT = self::class . '::preJoinRoomGuest'; + public const EVENT_AFTER_GUEST_CONNECT = self::class . '::postJoinRoomGuest'; + public const EVENT_PASSWORD_VERIFY = self::class . '::verifyPassword'; + public const EVENT_BEFORE_GUESTS_CLEAN = self::class . '::preCleanGuests'; + public const EVENT_AFTER_GUESTS_CLEAN = self::class . '::postCleanGuests'; + public const EVENT_BEFORE_SESSION_JOIN_CALL = self::class . '::preSessionJoinCall'; + public const EVENT_AFTER_SESSION_JOIN_CALL = self::class . '::postSessionJoinCall'; + public const EVENT_BEFORE_SESSION_LEAVE_CALL = self::class . '::preSessionLeaveCall'; + public const EVENT_AFTER_SESSION_LEAVE_CALL = self::class . '::postSessionLeaveCall'; + /** @var Manager */ private $manager; /** @var IDBConnection */ @@ -305,9 +340,8 @@ class Room { } public function deleteRoom(): void { - $participants = $this->getParticipantsLegacy(); $event = new RoomEvent($this); - $this->dispatcher->dispatch(self::class . '::preDeleteRoom', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_ROOM_DELETE, $event); $query = $this->db->getQueryBuilder(); // Delete all participants @@ -320,7 +354,7 @@ class Room { ->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT))); $query->execute(); - $this->dispatcher->dispatch(self::class . '::postDeleteRoom', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_ROOM_DELETE, $event); } /** @@ -334,7 +368,7 @@ class Room { } $event = new ModifyRoomEvent($this, 'name', $newName, $oldName); - $this->dispatcher->dispatch(self::class . '::preSetName', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_NAME_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_rooms') @@ -343,7 +377,7 @@ class Room { $query->execute(); $this->name = $newName; - $this->dispatcher->dispatch(self::class . '::postSetName', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_NAME_SET, $event); return true; } @@ -360,7 +394,7 @@ class Room { $hash = $password !== '' ? $this->hasher->hash($password) : ''; $event = new ModifyRoomEvent($this, 'password', $password); - $this->dispatcher->dispatch(self::class . '::preSetPassword', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_PASSWORD_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_rooms') @@ -369,7 +403,7 @@ class Room { $query->execute(); $this->password = $hash; - $this->dispatcher->dispatch(self::class . '::postSetPassword', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_PASSWORD_SET, $event); return true; } @@ -464,7 +498,7 @@ class Room { $oldType = $this->getType(); $event = new ModifyRoomEvent($this, 'type', $newType, $oldType); - $this->dispatcher->dispatch(self::class . '::preSetType', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_TYPE_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_rooms') @@ -483,7 +517,7 @@ class Room { $query->execute(); } - $this->dispatcher->dispatch(self::class . '::postSetType', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_TYPE_SET, $event); return true; } @@ -510,7 +544,7 @@ class Room { } $event = new ModifyRoomEvent($this, 'readOnly', $newState, $oldState); - $this->dispatcher->dispatch(self::class . '::preSetReadOnly', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_READONLY_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_rooms') @@ -520,7 +554,7 @@ class Room { $this->readOnly = $newState; - $this->dispatcher->dispatch(self::class . '::postSetReadOnly', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_READONLY_SET, $event); return true; } @@ -550,7 +584,7 @@ class Room { } $event = new ModifyLobbyEvent($this, 'lobby', $newState, $oldState, $dateTime, $timerReached); - $this->dispatcher->dispatch(self::class . '::preSetLobbyState', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_LOBBY_STATE_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_rooms') @@ -561,7 +595,7 @@ class Room { $this->lobbyState = $newState; - $this->dispatcher->dispatch(self::class . '::postSetLobbyState', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_LOBBY_STATE_SET, $event); return true; } @@ -590,7 +624,7 @@ class Room { */ public function addUsers(array ...$participants): void { $event = new AddParticipantsEvent($this, $participants); - $this->dispatcher->dispatch(self::class . '::preAddUsers', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_USERS_ADD, $event); $lastMessage = 0; if ($this->getLastMessage() instanceof IComment) { @@ -618,7 +652,7 @@ class Room { $query->execute(); } - $this->dispatcher->dispatch(self::class . '::postAddUsers', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_USERS_ADD, $event); } /** @@ -627,7 +661,7 @@ class Room { */ public function setParticipantType(Participant $participant, int $participantType): void { $event = new ModifyParticipantEvent($this, $participant, 'type', $participantType, $participant->getParticipantType()); - $this->dispatcher->dispatch(self::class . '::preSetParticipantType', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_PARTICIPANT_TYPE_SET, $event); $query = $this->db->getQueryBuilder(); $query->update('talk_participants') @@ -636,25 +670,7 @@ class Room { ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($participant->getUser()))); $query->execute(); - $this->dispatcher->dispatch(self::class . '::postSetParticipantType', $event); - } - - /** - * @param Participant $participant - * @param int $participantType - */ - public function setParticipantTypeBySession(Participant $participant, int $participantType): void { - $event = new ModifyParticipantEvent($this, $participant, 'type', $participantType, $participant->getParticipantType()); - $this->dispatcher->dispatch(self::class . '::preSetParticipantTypeBySession', $event); - - $query = $this->db->getQueryBuilder(); - $query->update('talk_participants') - ->set('participant_type', $query->createNamedParameter($participantType, IQueryBuilder::PARAM_INT)) - ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT))) - ->andWhere($query->expr()->eq('session_id', $query->createNamedParameter($participant->getSessionId()))); - $query->execute(); - - $this->dispatcher->dispatch(self::class . '::postSetParticipantTypeBySession', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_PARTICIPANT_TYPE_SET, $event); } /** @@ -669,7 +685,7 @@ class Room { } $event = new RemoveUserEvent($this, $participant, $user, $reason); - $this->dispatcher->dispatch(self::class . '::preRemoveUser', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_USER_REMOVE, $event); if ($this->getType() === self::ONE_TO_ONE_CALL) { $this->setName($user->getUID()); @@ -681,7 +697,7 @@ class Room { ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($user->getUID()))); $query->execute(); - $this->dispatcher->dispatch(self::class . '::postRemoveUser', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_USER_REMOVE, $event); } @@ -691,7 +707,7 @@ class Room { */ public function removeParticipantBySession(Participant $participant, string $reason): void { $event = new RemoveParticipantEvent($this, $participant, $reason); - $this->dispatcher->dispatch(self::class . '::preRemoveBySession', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_PARTICIPANT_REMOVE, $event); $query = $this->db->getQueryBuilder(); $query->delete('talk_participants') @@ -699,7 +715,7 @@ class Room { ->andWhere($query->expr()->eq('session_id', $query->createNamedParameter($participant->getSessionId()))); $query->execute(); - $this->dispatcher->dispatch(self::class . '::postRemoveBySession', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_PARTICIPANT_REMOVE, $event); } /** @@ -712,7 +728,7 @@ class Room { */ public function joinRoom(IUser $user, string $password, bool $passedPasswordProtection = false): string { $event = new JoinRoomUserEvent($this, $user, $password, $passedPasswordProtection); - $this->dispatcher->dispatch(self::class . '::preJoinRoom', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_ROOM_CONNECT, $event); if ($event->getCancelJoin() === true) { $this->removeUser($user, self::PARTICIPANT_LEFT); @@ -748,7 +764,7 @@ class Room { $query->execute(); } - $this->dispatcher->dispatch(self::class . '::postJoinRoom', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_ROOM_CONNECT, $event); return $sessionId; } @@ -765,7 +781,7 @@ class Room { } $event = new ParticipantEvent($this, $participant); - $this->dispatcher->dispatch(self::class . '::preUserDisconnectRoom', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_ROOM_DISCONNECT, $event); // Reset session when leaving a normal room $query = $this->db->getQueryBuilder(); @@ -791,7 +807,7 @@ class Room { } $query->execute(); - $this->dispatcher->dispatch(self::class . '::postUserDisconnectRoom', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_ROOM_DISCONNECT, $event); } /** @@ -803,7 +819,7 @@ class Room { */ public function joinRoomGuest(string $password, bool $passedPasswordProtection = false): string { $event = new JoinRoomGuestEvent($this, $password, $passedPasswordProtection); - $this->dispatcher->dispatch(self::class . '::preJoinRoomGuest', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_GUEST_CONNECT, $event); if ($event->getCancelJoin()) { throw new UnauthorizedException('Participant is not allowed to join'); @@ -830,7 +846,7 @@ class Room { $sessionId = $this->secureRandom->generate(255); } - $this->dispatcher->dispatch(self::class . '::postJoinRoomGuest', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_GUEST_CONNECT, $event); return $sessionId; } @@ -838,9 +854,9 @@ class Room { public function changeInCall(Participant $participant, int $flags): void { $event = new ModifyParticipantEvent($this, $participant, 'inCall', $flags, $participant->getInCallFlags()); if ($flags !== Participant::FLAG_DISCONNECTED) { - $this->dispatcher->dispatch(self::class . '::preSessionJoinCall', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_SESSION_JOIN_CALL, $event); } else { - $this->dispatcher->dispatch(self::class . '::preSessionLeaveCall', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_SESSION_LEAVE_CALL, $event); } $query = $this->db->getQueryBuilder(); @@ -858,9 +874,9 @@ class Room { $query->execute(); if ($flags !== Participant::FLAG_DISCONNECTED) { - $this->dispatcher->dispatch(self::class . '::postSessionJoinCall', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_SESSION_JOIN_CALL, $event); } else { - $this->dispatcher->dispatch(self::class . '::postSessionLeaveCall', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_SESSION_LEAVE_CALL, $event); } } @@ -870,7 +886,7 @@ class Room { */ public function verifyPassword(string $password): array { $event = new VerifyRoomPasswordEvent($this, $password); - $this->dispatcher->dispatch(self::class . '::verifyPassword', $event); + $this->dispatcher->dispatch(self::EVENT_PASSWORD_VERIFY, $event); if ($event->isPasswordValid() !== null) { return [ @@ -903,7 +919,7 @@ class Room { public function cleanGuestParticipants(): void { $event = new RoomEvent($this); - $this->dispatcher->dispatch(self::class . '::preCleanGuests', $event); + $this->dispatcher->dispatch(self::EVENT_BEFORE_GUESTS_CLEAN, $event); $query = $this->db->getQueryBuilder(); $query->delete('talk_participants') @@ -912,7 +928,7 @@ class Room { ->andWhere($query->expr()->lte('last_ping', $query->createNamedParameter($this->timeFactory->getTime() - 100, IQueryBuilder::PARAM_INT))); $query->execute(); - $this->dispatcher->dispatch(self::class . '::postCleanGuests', $event); + $this->dispatcher->dispatch(self::EVENT_AFTER_GUESTS_CLEAN, $event); } /** diff --git a/lib/Share/RoomShareProvider.php b/lib/Share/RoomShareProvider.php index 93982b277..cbc381ccf 100644 --- a/lib/Share/RoomShareProvider.php +++ b/lib/Share/RoomShareProvider.php @@ -109,7 +109,7 @@ class RoomShareProvider implements IShareProvider { $roomShareProvider->deleteInRoom($room->getToken(), $event->getParticipant()->getUser()); } }; - $dispatcher->addListener(Room::class . '::postUserDisconnectRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DISCONNECT, $listener); $listener = static function(RemoveUserEvent $event) { $room = $event->getRoom(); @@ -118,7 +118,7 @@ class RoomShareProvider implements IShareProvider { $roomShareProvider = \OC::$server->query(self::class); $roomShareProvider->deleteInRoom($room->getToken(), $event->getUser()->getUID()); }; - $dispatcher->addListener(Room::class . '::postRemoveUser', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, $listener); $listener = static function(RoomEvent $event) { $room = $event->getRoom(); @@ -127,7 +127,7 @@ class RoomShareProvider implements IShareProvider { $roomShareProvider = \OC::$server->query(self::class); $roomShareProvider->deleteInRoom($room->getToken()); }; - $dispatcher->addListener(Room::class . '::postDeleteRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DELETE, $listener); } /** diff --git a/lib/Signaling/Listener.php b/lib/Signaling/Listener.php index 86274ecee..758a33a46 100644 --- a/lib/Signaling/Listener.php +++ b/lib/Signaling/Listener.php @@ -62,11 +62,11 @@ class Listener { $messages = \OC::$server->query(Messages::class); $messages->addMessageForAllParticipants($event->getRoom(), 'refresh-participant-list'); }; - $dispatcher->addListener(Room::class . '::postJoinRoom', $listener); - $dispatcher->addListener(Room::class . '::postJoinRoomGuest', $listener); - $dispatcher->addListener(Room::class . '::postSessionJoinCall', $listener); - $dispatcher->addListener(Room::class . '::postSessionLeaveCall', $listener); - $dispatcher->addListener(GuestManager::class . '::updateName', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_CONNECT, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_GUEST_CONNECT, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_LEAVE_CALL, $listener); + $dispatcher->addListener(GuestManager::EVENT_AFTER_NAME_UPDATE, $listener); $listener = static function(ParticipantEvent $event) { if (!self::isUsingInternalSignaling()) { @@ -88,9 +88,9 @@ class Listener { $messages->addMessage($participant->getSessionId(), $participant->getSessionId(), 'refresh-participant-list'); } }; - $dispatcher->addListener(Room::class . '::postRemoveUser', $listener); - $dispatcher->addListener(Room::class . '::postRemoveBySession', $listener); - $dispatcher->addListener(Room::class . '::postUserDisconnectRoom', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_ROOM_DISCONNECT, $listener); $listener = static function(RoomEvent $event) { $room = $event->getRoom(); @@ -108,11 +108,11 @@ class Listener { $messages->addMessage($participant['sessionId'], $participant['sessionId'], 'refresh-participant-list'); } }; - $dispatcher->addListener(Room::class . '::preDeleteRoom', $listener); + $dispatcher->addListener(Room::EVENT_BEFORE_ROOM_DELETE, $listener); } protected static function registerExternalSignaling(IEventDispatcher $dispatcher): void { - $dispatcher->addListener(Room::class . '::postAddUsers', static function(AddParticipantsEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, static function(AddParticipantsEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -122,7 +122,7 @@ class Listener { $notifier->roomInvited($event->getRoom(), $event->getParticipants()); }); - $dispatcher->addListener(Room::class . '::postSetName', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_NAME_SET, static function(ModifyRoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -132,7 +132,7 @@ class Listener { $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetPassword', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_PASSWORD_SET, static function(ModifyRoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -142,7 +142,7 @@ class Listener { $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetType', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_TYPE_SET, static function(ModifyRoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -152,7 +152,7 @@ class Listener { $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetReadOnly', static function(ModifyRoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_READONLY_SET, static function(ModifyRoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -162,7 +162,7 @@ class Listener { $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetLobbyState', static function(ModifyLobbyEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_LOBBY_STATE_SET, static function(ModifyLobbyEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -172,7 +172,7 @@ class Listener { $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetParticipantType', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_TYPE_SET, static function(ModifyParticipantEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -184,19 +184,7 @@ class Listener { // so they can update the room properties. $notifier->roomModified($event->getRoom()); }); - $dispatcher->addListener(Room::class . '::postSetParticipantTypeBySession', static function(ModifyParticipantEvent $event) { - if (self::isUsingInternalSignaling()) { - return; - } - - /** @var BackendNotifier $notifier */ - $notifier = \OC::$server->query(BackendNotifier::class); - - // The type of a participant has changed, notify all participants - // so they can update the room properties. - $notifier->roomModified($event->getRoom()); - }); - $dispatcher->addListener(Room::class . '::preDeleteRoom', static function(RoomEvent $event) { + $dispatcher->addListener(Room::EVENT_BEFORE_ROOM_DELETE, static function(RoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -208,7 +196,7 @@ class Listener { $participants = $room->getParticipantsLegacy(); $notifier->roomDeleted($room, $participants); }); - $dispatcher->addListener(Room::class . '::postRemoveUser', static function(RemoveUserEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_USER_REMOVE, static function(RemoveUserEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -218,7 +206,7 @@ class Listener { $notifier->roomsDisinvited($event->getRoom(), [$event->getUser()->getUID()]); }); - $dispatcher->addListener(Room::class . '::postRemoveBySession', static function(RemoveParticipantEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, static function(RemoveParticipantEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -243,10 +231,10 @@ class Listener { [$event->getParticipant()->getSessionId()] ); }; - $dispatcher->addListener(Room::class . '::postSessionJoinCall', $listener); - $dispatcher->addListener(Room::class . '::postSessionLeaveCall', $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener); + $dispatcher->addListener(Room::EVENT_AFTER_SESSION_LEAVE_CALL, $listener); - $dispatcher->addListener(Room::class . '::postCleanGuests', static function(RoomEvent $event) { + $dispatcher->addListener(Room::EVENT_AFTER_GUESTS_CLEAN, static function(RoomEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -259,7 +247,7 @@ class Listener { $sessionIds = []; $notifier->participantsModified($event->getRoom(), $sessionIds); }); - $dispatcher->addListener(GuestManager::class . '::updateName', static function(ModifyParticipantEvent $event) { + $dispatcher->addListener(GuestManager::EVENT_AFTER_NAME_UPDATE, static function(ModifyParticipantEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -269,7 +257,7 @@ class Listener { $notifier->participantsModified($event->getRoom(), [$event->getParticipant()->getSessionId()]); }); - $dispatcher->addListener(ChatManager::class . '::postSendMessage', static function(ChatParticipantEvent $event) { + $dispatcher->addListener(ChatManager::EVENT_AFTER_MESSAGE_SEND , static function(ChatParticipantEvent $event) { if (self::isUsingInternalSignaling()) { return; } @@ -286,7 +274,7 @@ class Listener { ]; $notifier->sendRoomMessage($room, $message); }); - $dispatcher->addListener(ChatManager::class . '::postSendSystemMessage', static function(ChatEvent $event) { + $dispatcher->addListener(ChatManager::EVENT_AFTER_SYSTEM_MESSAGE_SEND, static function(ChatEvent $event) { if (self::isUsingInternalSignaling()) { return; } |