*/ class Listener implements IEventListener { public function __construct( protected IManager $resourceManager, ) { } #[\Override] public function handle(Event $event): void { if ($event instanceof AttendeesAddedEvent || $event instanceof AttendeesRemovedEvent || $event instanceof RoomDeletedEvent || $event instanceof EmailInvitationSentEvent || ($event instanceof RoomModifiedEvent && $event->getProperty() === ARoomModifiedEvent::PROPERTY_TYPE)) { try { $resource = $this->resourceManager->getResourceForUser('room', $event->getRoom()->getToken(), null); } catch (ResourceException) { return; } $this->resourceManager->invalidateAccessCacheForResource($resource); } } }