<?php namespace App\Http\Livewire\Project\Application; use App\Enums\ActivityTypes; use App\Models\Application; use Illuminate\Support\Facades\Redis; use Livewire\Component; use Spatie\Activitylog\Models\Activity; class DeploymentLogs extends Component { public Application $application; public $activity; public $isKeepAliveOn = true; public $deployment_uuid; public function polling() { $this->emit('deploymentFinished'); if (is_null($this->activity) && isset($this->deployment_uuid)) { $this->activity = Activity::query() ->where('properties->type', '=', ActivityTypes::DEPLOYMENT->value) ->where('properties->type_uuid', '=', $this->deployment_uuid) ->first(); } else { $this->activity?->refresh(); } if (data_get($this->activity, 'properties.status') == 'finished' || data_get($this->activity, 'properties.status') == 'failed') { $this->isKeepAliveOn = false; } } }