From 9b9e5e939c4303c77a11fc14270488316c3f9ba9 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 6 Feb 2024 07:19:11 +0100 Subject: [PATCH] Fix resource not found error and improve mass deployment process --- app/Http/Controllers/Api/Deploy.php | 3 +++ app/Livewire/Tags/Show.php | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Api/Deploy.php b/app/Http/Controllers/Api/Deploy.php index f235256bb..4138ce6c0 100644 --- a/app/Http/Controllers/Api/Deploy.php +++ b/app/Http/Controllers/Api/Deploy.php @@ -97,6 +97,9 @@ class Deploy extends Controller public function deploy_resource($resource, bool $force = false): Collection { $message = collect([]); + if (gettype($resource) !== 'object') { + return $message->push("Resource ($resource) not found."); + } $type = $resource?->getMorphClass(); if ($type === 'App\Models\Application') { queue_application_deployment( diff --git a/app/Livewire/Tags/Show.php b/app/Livewire/Tags/Show.php index 3bb669615..05b25955a 100644 --- a/app/Livewire/Tags/Show.php +++ b/app/Livewire/Tags/Show.php @@ -50,13 +50,14 @@ class Show extends Component public function redeploy_all() { try { - $this->applications->each(function ($resource) { + $message = collect([]); + $this->applications->each(function ($resource) use ($message) { $deploy = new Deploy(); - $deploy->deploy_resource($resource); + $message->push($deploy->deploy_resource($resource)); }); - $this->services->each(function ($resource) { + $this->services->each(function ($resource) use ($message) { $deploy = new Deploy(); - $deploy->deploy_resource($resource); + $message->push($deploy->deploy_resource($resource)); }); $this->dispatch('success', 'Mass deployment started.'); } catch (\Exception $e) {