refactor(webhook): replace direct forceDelete calls with DeleteResourceJob dispatch for application previews

This commit is contained in:
Andras Bacsai 2025-09-05 19:27:59 +02:00
parent 136ca08305
commit 8c5c249c6a

View file

@ -5,6 +5,7 @@
use App\Enums\ProcessStatus;
use App\Http\Controllers\Controller;
use App\Jobs\ApplicationPullRequestUpdateJob;
use App\Jobs\DeleteResourceJob;
use App\Jobs\GithubAppPermissionJob;
use App\Models\Application;
use App\Models\ApplicationPreview;
@ -240,9 +241,7 @@ public function manual(Request $request)
if ($action === 'closed') {
$found = ApplicationPreview::where('application_id', $application->id)->where('pull_request_id', $pull_request_id)->first();
if ($found) {
$found->forceDelete();
$container_name = generateApplicationContainerName($application, $pull_request_id);
instant_remote_process(["docker rm -f $container_name"], $application->destination->server);
DeleteResourceJob::dispatch($found);
$return_payloads->push([
'application' => $application->name,
'status' => 'success',
@ -480,7 +479,8 @@ public function normal(Request $request)
}
ApplicationPullRequestUpdateJob::dispatchSync(application: $application, preview: $found, status: ProcessStatus::CLOSED);
$found->forceDelete();
DeleteResourceJob::dispatch($found);
$return_payloads->push([
'application' => $application->name,