diff --git a/.gitmodules b/.gitmodules index a4bea14d38..15c60d9713 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "app/console"] path = app/console url = https://github.com/appwrite/console - branch = 2.3.3 + branch = 2.3.4 diff --git a/CHANGES.md b/CHANGES.md index bac697cf71..df4bc7105e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ ## Bugs - Fixed auto-setting custom ID on nested documents [#5363](https://github.com/appwrite/appwrite/pull/5363) - Fixed listDocuments not returning all the documents [#5395](https://github.com/appwrite/appwrite/pull/5395) +- Fixed deleting keys, webhooks, platforms and domains after deleting project [#5395](https://github.com/appwrite/appwrite/pull/5395) # Version 1.3.1 diff --git a/app/console b/app/console index ac4181aea4..9174d8f8cb 160000 --- a/app/console +++ b/app/console @@ -1 +1 @@ -Subproject commit ac4181aea403d888e63cb527c700e80013c68ea8 +Subproject commit 9174d8f8cb584744dd7a53f69d324f490ee82ee3 diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 44329724b1..64ce9c8a67 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -1237,7 +1237,7 @@ App::get('/v1/projects/:projectId/platforms') } $platforms = $dbForConsole->find('platforms', [ - Query::equal('projectId', [$project->getId()]), + Query::equal('projectInternalId', [$project->getInternalId()]), Query::limit(5000), ]); diff --git a/app/workers/deletes.php b/app/workers/deletes.php index 42ec0d2565..f27bc4feb9 100644 --- a/app/workers/deletes.php +++ b/app/workers/deletes.php @@ -9,7 +9,6 @@ use Utopia\Database\Document; use Utopia\Database\Query; use Appwrite\Resque\Worker; use Executor\Executor; -use Utopia\Storage\Device\Local; use Utopia\Abuse\Abuse; use Utopia\Abuse\Adapters\TimeLimit; use Utopia\CLI\Console; @@ -291,12 +290,13 @@ class DeletesV1 extends Worker protected function deleteProject(Document $document): void { $projectId = $document->getId(); + $projectInternalId = $document->getInternalId(); - // Delete project domains and certificates + // Delete project certificates $dbForConsole = $this->getConsoleDB(); $domains = $dbForConsole->find('domains', [ - Query::equal('projectInternalId', [$document->getInternalId()]) + Query::equal('projectInternalId', [$projectInternalId]) ]); foreach ($domains as $domain) { @@ -318,6 +318,26 @@ class DeletesV1 extends Worker } } + // Delete Platforms + $this->deleteByGroup('platforms', [ + Query::equal('projectInternalId', [$projectInternalId]) + ], $dbForConsole); + + // Delete Domains + $this->deleteByGroup('domains', [ + Query::equal('projectInternalId', [$projectInternalId]) + ], $dbForConsole); + + // Delete Keys + $this->deleteByGroup('keys', [ + Query::equal('projectInternalId', [$projectInternalId]) + ], $dbForConsole); + + // Delete Webhooks + $this->deleteByGroup('webhooks', [ + Query::equal('projectInternalId', [$projectInternalId]) + ], $dbForConsole); + // Delete metadata tables try { $dbForProject->deleteCollection('_metadata');