mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-22 11:12:20 +00:00
61 lines
1.5 KiB
PHP
61 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Livewire\Application;
|
|
|
|
use App\Exceptions\SourceControlIsNotConnected;
|
|
use App\Models\Site;
|
|
use App\Traits\HasToast;
|
|
use App\Traits\RefreshComponentOnBroadcast;
|
|
use Illuminate\Contracts\View\View;
|
|
use Livewire\Component;
|
|
use Throwable;
|
|
|
|
class AutoDeployment extends Component
|
|
{
|
|
use RefreshComponentOnBroadcast;
|
|
use HasToast;
|
|
|
|
public Site $site;
|
|
|
|
/**
|
|
* @throws Throwable
|
|
*/
|
|
public function enable(): void
|
|
{
|
|
if (! $this->site->auto_deployment) {
|
|
try {
|
|
$this->site->enableAutoDeployment();
|
|
|
|
$this->site->refresh();
|
|
|
|
$this->toast()->success(__('Auto deployment has been enabled.'));
|
|
} catch (SourceControlIsNotConnected) {
|
|
$this->toast()->error(__('Source control is not connected. Check site\'s settings.'));
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @throws Throwable
|
|
*/
|
|
public function disable(): void
|
|
{
|
|
if ($this->site->auto_deployment) {
|
|
try {
|
|
$this->site->disableAutoDeployment();
|
|
|
|
$this->site->refresh();
|
|
|
|
$this->toast()->success(__('Auto deployment has been disabled.'));
|
|
} catch (SourceControlIsNotConnected) {
|
|
$this->toast()->error(__('Source control is not connected. Check site\'s settings.'));
|
|
}
|
|
}
|
|
}
|
|
|
|
public function render(): View
|
|
{
|
|
return view('livewire.application.auto-deployment');
|
|
}
|
|
}
|