*/ class NewMessagesNotifier implements IEventListener { public function __construct( private IEventDispatcher $eventDispatcher, private IURLGenerator $urlGenerator, ) { } /** * @inheritDoc */ #[\Override] public function handle(Event $event): void { if (!$event instanceof NewMessagesSynchronized) { return; } foreach ($event->getMessages() as $message) { $uri = $this->urlGenerator->linkToOCSRouteAbsolute('mail.messageApi.get', ['id' => $message->getId()]); $this->eventDispatcher->dispatchTyped(new NewMessageReceivedEvent($uri)); } } }