1
0
Fork 0
mirror of synced 2024-07-04 06:00:53 +12:00

Delete VCS documents when project is deleted

This commit is contained in:
Khushboo Verma 2023-11-01 15:06:28 +05:30
parent 8798d183bd
commit d95e4790a0

View file

@ -450,6 +450,23 @@ class Deletes extends Action
Query::equal('projectInternalId', [$projectInternalId])
], $dbForConsole);
// Delete VCS Installations, Repositories and Comments
$this->deleteByGroup('installations', [
Query::equal('projectInternalId', [$projectInternalId])
], $dbForConsole, function (Document $document) use ($dbForConsole) {
$projectInternalId = $document->getAttribute('projectInternalId', '');
$this->deleteByGroup('repositories', [
Query::equal('installationInternalId', [$projectInternalId]),
], $dbForConsole, function (Document $document) use ($dbForConsole) {
$providerRepositoryId = $document->getAttribute('providerRepositoryId', '');
$projectId = $document->getAttribute('projectId', '');
$this->deleteByGroup('vcsComments', [
Query::equal('providerRepositoryId', [$providerRepositoryId]),
Query::equal('projectId', [$projectId]),
], $dbForConsole);
});
});
// Delete metadata tables
try {
$dbForProject->deleteCollection('_metadata');