Delete VCS documents when project is deleted
This commit is contained in:
parent
8798d183bd
commit
d95e4790a0
|
@ -450,6 +450,23 @@ class Deletes extends Action
|
||||||
Query::equal('projectInternalId', [$projectInternalId])
|
Query::equal('projectInternalId', [$projectInternalId])
|
||||||
], $dbForConsole);
|
], $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
|
// Delete metadata tables
|
||||||
try {
|
try {
|
||||||
$dbForProject->deleteCollection('_metadata');
|
$dbForProject->deleteCollection('_metadata');
|
||||||
|
|
Loading…
Reference in a new issue