mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 10:21:37 +00:00
33 lines
803 B
PHP
Executable File
33 lines
803 B
PHP
Executable File
<?php
|
|
|
|
namespace App\ServerTypes;
|
|
|
|
use App\Contracts\ServerType;
|
|
use App\Events\Broadcast;
|
|
use App\Models\Server;
|
|
use Closure;
|
|
|
|
abstract class AbstractType implements ServerType
|
|
{
|
|
protected Server $server;
|
|
|
|
public function __construct(Server $server)
|
|
{
|
|
$this->server = $server;
|
|
}
|
|
|
|
protected function progress(int $percentage, string $step = null): Closure
|
|
{
|
|
return function () use ($percentage, $step) {
|
|
$this->server->progress = $percentage;
|
|
$this->server->progress_step = $step;
|
|
$this->server->save();
|
|
event(new Broadcast('server-installation-progress', [
|
|
'server' => $this->server,
|
|
'step' => $step,
|
|
'percentage' => $percentage,
|
|
]));
|
|
};
|
|
}
|
|
}
|