diff --git a/app/workers/deletes.php b/app/workers/deletes.php index 1b43bf66bd..42ec0d2565 100644 --- a/app/workers/deletes.php +++ b/app/workers/deletes.php @@ -58,6 +58,9 @@ class DeletesV1 extends Worker break; case DELETE_TYPE_TEAMS: $this->deleteMemberships($document, $project->getId()); + if ($project->getId() === 'console') { + $this->deleteProjectsByTeam($document); + } break; case DELETE_TYPE_BUCKETS: $this->deleteBucket($document, $project->getId()); @@ -263,6 +266,24 @@ class DeletesV1 extends Worker ], $this->getProjectDB($projectId)); } + /** + * @param \Utopia\Database\Document $document + * @return void + * @throws \Exception + */ + protected function deleteProjectsByTeam(Document $document): void + { + $dbForConsole = $this->getConsoleDB(); + + $projects = $dbForConsole->find('projects', [ + Query::equal('teamInternalId', [$document->getInternalId()]) + ]); + + foreach ($projects as $project) { + $this->deleteProject($project); + } + } + /** * @param Document $document project document * @throws Exception