mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 07:52:34 +00:00
init
This commit is contained in:
35
app/Http/Livewire/Application/ChangeBranch.php
Normal file
35
app/Http/Livewire/Application/ChangeBranch.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Actions\Site\UpdateBranch;
|
||||
use App\Models\Site;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class ChangeBranch extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public string $branch;
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->branch = $this->site->branch;
|
||||
}
|
||||
|
||||
public function change(): void
|
||||
{
|
||||
app(UpdateBranch::class)->update($this->site, $this->all());
|
||||
|
||||
session()->flash('status', 'updating-branch');
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.change-branch');
|
||||
}
|
||||
}
|
40
app/Http/Livewire/Application/Deploy.php
Normal file
40
app/Http/Livewire/Application/Deploy.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?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;
|
||||
|
||||
class Deploy extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
use HasToast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public function deploy(): void
|
||||
{
|
||||
try {
|
||||
$this->site->deploy();
|
||||
|
||||
$this->toast()->success(__('Deployment started!'));
|
||||
|
||||
$this->emitTo(DeploymentsList::class, '$refresh');
|
||||
|
||||
$this->emitTo(DeploymentScript::class, '$refresh');
|
||||
} catch (SourceControlIsNotConnected $e) {
|
||||
session()->flash('toast.type', 'error');
|
||||
session()->flash('toast.message', $e->getMessage());
|
||||
$this->redirect(route('source-controls'));
|
||||
}
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.deploy');
|
||||
}
|
||||
}
|
37
app/Http/Livewire/Application/DeploymentScript.php
Normal file
37
app/Http/Livewire/Application/DeploymentScript.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Actions\Site\UpdateDeploymentScript;
|
||||
use App\Models\Site;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class DeploymentScript extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public string $script;
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->script = $this->site->deploymentScript->content;
|
||||
}
|
||||
|
||||
public function save(): void
|
||||
{
|
||||
app(UpdateDeploymentScript::class)->update($this->site, $this->all());
|
||||
|
||||
session()->flash('status', 'script-updated');
|
||||
|
||||
$this->emit(Deploy::class, '$refresh');
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.deployment-script');
|
||||
}
|
||||
}
|
34
app/Http/Livewire/Application/DeploymentsList.php
Normal file
34
app/Http/Livewire/Application/DeploymentsList.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Models\Site;
|
||||
use App\Traits\HasCustomPaginationView;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class DeploymentsList extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
use HasCustomPaginationView;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public string $logContent;
|
||||
|
||||
public function showLog(int $id): void
|
||||
{
|
||||
$deployment = $this->site->deployments()->findOrFail($id);
|
||||
$this->logContent = $deployment->log->content;
|
||||
|
||||
$this->dispatchBrowserEvent('open-modal', 'show-log');
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.deployments-list', [
|
||||
'deployments' => $this->site->deployments()->latest()->simplePaginate(10),
|
||||
]);
|
||||
}
|
||||
}
|
20
app/Http/Livewire/Application/LaravelApp.php
Normal file
20
app/Http/Livewire/Application/LaravelApp.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Models\Site;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class LaravelApp extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.laravel-app');
|
||||
}
|
||||
}
|
20
app/Http/Livewire/Application/PhpApp.php
Normal file
20
app/Http/Livewire/Application/PhpApp.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Models\Site;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class PhpApp extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.php-app');
|
||||
}
|
||||
}
|
20
app/Http/Livewire/Application/WordpressApp.php
Normal file
20
app/Http/Livewire/Application/WordpressApp.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Application;
|
||||
|
||||
use App\Models\Site;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class WordpressApp extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.application.wordpress-app');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user