mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 07:52:34 +00:00
Plugins base (#613)
* wip * wip * cleanup * notification channels * phpstan * services * remove server types * refactoring * refactoring
This commit is contained in:
62
app/SiteFeatures/LaravelOctane/Disable.php
Normal file
62
app/SiteFeatures/LaravelOctane/Disable.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace App\SiteFeatures\LaravelOctane;
|
||||
|
||||
use App\Actions\Worker\DeleteWorker;
|
||||
use App\DTOs\DynamicField;
|
||||
use App\DTOs\DynamicForm;
|
||||
use App\Models\Worker;
|
||||
use App\SiteFeatures\Action;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class Disable extends Action
|
||||
{
|
||||
public function name(): string
|
||||
{
|
||||
return 'Disable';
|
||||
}
|
||||
|
||||
public function active(): bool
|
||||
{
|
||||
return data_get($this->site->type_data, 'octane', false);
|
||||
}
|
||||
|
||||
public function form(): ?DynamicForm
|
||||
{
|
||||
return DynamicForm::make([
|
||||
DynamicField::make('port')
|
||||
->text()
|
||||
->default(8000),
|
||||
]);
|
||||
}
|
||||
|
||||
public function handle(Request $request): void
|
||||
{
|
||||
$typeData = $this->site->type_data ?? [];
|
||||
|
||||
/** @var ?Worker $worker */
|
||||
$worker = $this->site->workers()->where('name', 'laravel-octane')->first();
|
||||
if ($worker) {
|
||||
app(DeleteWorker::class)->delete($worker);
|
||||
}
|
||||
|
||||
data_set($typeData, 'octane', false);
|
||||
data_set($typeData, 'octane_port', $request->input('port'));
|
||||
$this->site->type_data = $typeData;
|
||||
$this->site->save();
|
||||
|
||||
$webserver = $this->site->webserver()->id();
|
||||
|
||||
if ($webserver === 'nginx') {
|
||||
$this->site->webserver()->updateVHost(
|
||||
$this->site,
|
||||
replace: [
|
||||
'laravel-octane-map' => '',
|
||||
'laravel-octane' => view('ssh.services.webserver.nginx.vhost-blocks.php', ['site' => $this->site]),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
$request->session()->flash('success', 'Laravel Octane has been disabled for this site.');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user