lasthourcloud/app/Http/Livewire/Project/Shared/Danger.php
2023-09-22 11:23:49 +02:00

43 lines
1.3 KiB
PHP

<?php
namespace App\Http\Livewire\Project\Shared;
use Livewire\Component;
use Visus\Cuid2\Cuid2;
class Danger extends Component
{
public $resource;
public array $parameters;
public string|null $modalId = null;
public function mount()
{
$this->modalId = new Cuid2(7);
$this->parameters = get_route_parameters();
}
public function delete()
{
try {
if ($this->resource->type() === 'service') {
$server = $this->resource->server;
} else {
$destination = data_get($this->resource, 'destination');
if ($destination) {
$destination = $this->resource->destination->getMorphClass()::where('id', $this->resource->destination->id)->first();
$server = $destination->server;
}
}
instant_remote_process(["docker rm -f {$this->resource->uuid}"], $server);
$this->resource->delete();
return redirect()->route('project.resources', [
'project_uuid' => $this->parameters['project_uuid'],
'environment_name' => $this->parameters['environment_name']
]);
} catch (\Throwable $e) {
return handleError($e);
}
}
}