diff --git a/src/Database/Database.php b/src/Database/Database.php index 068a68b44..ef7705fe4 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -4007,11 +4007,12 @@ public function updateDocument(string $collection, string $id, Document $documen } $this->adapter->updateDocument($collection->getId(), $id, $document); - $this->purgeCachedDocument($collection->getId(), $id); return $document; }); + $this->purgeCachedDocument($collection->getId(), $id); + if ($this->resolveRelationships) { $document = $this->silent(fn () => $this->populateDocumentRelationships($collection, $document)); } @@ -4961,13 +4962,12 @@ public function deleteDocument(string $collection, string $id): bool if ($this->resolveRelationships) { $document = $this->silent(fn () => $this->deleteDocumentRelationships($collection, $document)); } + return $this->adapter->deleteDocument($collection->getId(), $id); + }); - $result = $this->adapter->deleteDocument($collection->getId(), $id); - + if ($deleted) { $this->purgeCachedDocument($collection->getId(), $id); - - return $result; - }); + } $this->trigger(self::EVENT_DOCUMENT_DELETE, $document); diff --git a/tests/e2e/Adapter/Base.php b/tests/e2e/Adapter/Base.php index 54b38f7c0..66c97ae98 100644 --- a/tests/e2e/Adapter/Base.php +++ b/tests/e2e/Adapter/Base.php @@ -17904,6 +17904,7 @@ public function testCacheFallback(): void Console::execute('docker ps -a --filter "name=utopia-redis" --format "{{.Names}}" | xargs -r docker start', "", $stdout, $stderr); sleep(5); + // Should return empty results after the delete operation $this->assertCount(1, $database->find('testRedisFallback', [Query::equal('string', ['text📝'])])); } }