diff --git a/CHANGES.md b/CHANGES.md index df303e8555..60c6c71179 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,8 @@ +# Version 1.0.3 +## Bugs +- Fix document audit deletion [#4429](https://github.com/appwrite/appwrite/pull/4429) +- Fix attribute, index, and audit deletion [#4429](https://github.com/appwrite/appwrite/pull/4429) + # Version 1.0.2 ## Bugs - Fixed nullable values in functions variables [#3885](https://github.com/appwrite/appwrite/pull/3885) diff --git a/app/workers/deletes.php b/app/workers/deletes.php index 19ab56c69a..b015043b1d 100644 --- a/app/workers/deletes.php +++ b/app/workers/deletes.php @@ -193,21 +193,24 @@ class DeletesV1 extends Worker protected function deleteCollection(Document $document, string $projectId): void { $collectionId = $document->getId(); - $databaseId = str_replace('database_', '', $document->getCollection()); + $databaseId = $document->getAttribute('databaseId'); + $databaseInternalId = $document->getAttribute('databaseInternalId'); $dbForProject = $this->getProjectDB($projectId); - $dbForProject->deleteCollection('database_' . $databaseId . '_collection_' . $document->getInternalId()); + $dbForProject->deleteCollection('database_' . $databaseInternalId . '_collection_' . $document->getInternalId()); $this->deleteByGroup('attributes', [ + Query::equal('databaseId', [$databaseId]), Query::equal('collectionId', [$collectionId]) ], $dbForProject); $this->deleteByGroup('indexes', [ + Query::equal('databaseId', [$databaseId]), Query::equal('collectionId', [$collectionId]) ], $dbForProject); - $this->deleteAuditLogsByResource('collection/' . $collectionId, $projectId); + $this->deleteAuditLogsByResource('database/' . $databaseId . '/collection/' . $collectionId, $projectId); } /**