fix(FileReferenceEventListener): Invalidate cache after node was renamed

Fixes: nextcloud/collectives#1527

Signed-off-by: Jonas <jonas@freesources.org>
This commit is contained in:
Jonas 2025-05-27 11:27:38 +02:00
parent 86bf0eb4ad
commit 9dd48a1837
No known key found for this signature in database
GPG key ID: 5262E7FF491049FE

View file

@ -15,6 +15,7 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\EventDispatcher\IEventListener;
use OCP\Files\Events\Node\NodeDeletedEvent;
use OCP\Files\Events\Node\NodeRenamedEvent;
use OCP\Share\Events\ShareCreatedEvent;
use OCP\Share\Events\ShareDeletedEvent;
@ -27,6 +28,7 @@ class FileReferenceEventListener implements IEventListener {
public static function register(IEventDispatcher $eventDispatcher): void {
$eventDispatcher->addServiceListener(NodeDeletedEvent::class, FileReferenceEventListener::class);
$eventDispatcher->addServiceListener(NodeRenamedEvent::class, FileReferenceEventListener::class);
$eventDispatcher->addServiceListener(ShareDeletedEvent::class, FileReferenceEventListener::class);
$eventDispatcher->addServiceListener(ShareCreatedEvent::class, FileReferenceEventListener::class);
}
@ -42,6 +44,9 @@ class FileReferenceEventListener implements IEventListener {
$this->manager->invalidateCache((string) $event->getNode()->getId());
}
if ($event instanceof NodeRenamedEvent) {
$this->manager->invalidateCache((string) $event->getTarget()->getId());
}
if ($event instanceof ShareDeletedEvent) {
$this->manager->invalidateCache((string) $event->getShare()->getNodeId());
}