fixed github app deleting private key when it is used by other resources
This commit is contained in:
parent
ae9f348458
commit
97e734e5ea
1 changed files with 14 additions and 1 deletions
|
|
@ -28,7 +28,20 @@ protected static function booted(): void
|
||||||
if ($applications_count > 0) {
|
if ($applications_count > 0) {
|
||||||
throw new \Exception('You cannot delete this GitHub App because it is in use by '.$applications_count.' application(s). Delete them first.');
|
throw new \Exception('You cannot delete this GitHub App because it is in use by '.$applications_count.' application(s). Delete them first.');
|
||||||
}
|
}
|
||||||
$github_app->privateKey()->delete();
|
|
||||||
|
$privateKey = $github_app->privateKey;
|
||||||
|
if ($privateKey) {
|
||||||
|
// Check if key is used by anything EXCEPT this GitHub app
|
||||||
|
$isUsedElsewhere = $privateKey->servers()->exists()
|
||||||
|
|| $privateKey->applications()->exists()
|
||||||
|
|| $privateKey->githubApps()->where('id', '!=', $github_app->id)->exists()
|
||||||
|
|| $privateKey->gitlabApps()->exists();
|
||||||
|
|
||||||
|
if (! $isUsedElsewhere) {
|
||||||
|
$privateKey->delete();
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue