This commit is contained in:
Saeed Vaziry
2023-07-02 12:47:50 +02:00
commit 5c72f12490
825 changed files with 41659 additions and 0 deletions

View 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');
}
}

View 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');
}
}

View 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');
}
}

View 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),
]);
}
}

View 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');
}
}

View 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');
}
}

View 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');
}
}