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,41 @@
<?php
namespace App\Http\Livewire\Sites;
use App\Models\Site;
use App\Traits\RefreshComponentOnBroadcast;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class ChangePhpVersion extends Component
{
use RefreshComponentOnBroadcast;
public Site $site;
public string $version;
public function mount(Site $site): void
{
$this->version = $site->php_version;
}
public function change(): void
{
$this->site->changePHPVersion($this->version);
session()->flash('status', 'changing-php-version');
}
public function refreshComponent(array $data): void
{
if (isset($data['type'])) {
session()->flash('status', $data['type']);
}
}
public function render(): View
{
return view('livewire.sites.change-php-version');
}
}

View File

@ -0,0 +1,59 @@
<?php
namespace App\Http\Livewire\Sites;
use App\Enums\SiteType;
use App\Exceptions\SourceControlIsNotConnected;
use App\Models\Server;
use App\Models\SourceControl;
use App\Traits\RefreshComponentOnBroadcast;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class CreateSite extends Component
{
use RefreshComponentOnBroadcast;
public Server $server;
public string $type = SiteType::LARAVEL;
public string $domain;
public string $alias;
public string $php_version = '';
public string $web_directory = 'public';
public string $source_control = '';
public string $repository;
public string $branch;
public bool $composer;
/**
* @throws SourceControlIsNotConnected
*/
public function create(): void
{
$site = app(\App\Actions\Site\CreateSite::class)->create(
$this->server,
$this->all()
);
$this->redirect(route('servers.sites.show', [
'server' => $site->server,
'site' => $site,
]));
}
public function render(): View
{
return view('livewire.sites.create-site', [
'sourceControls' => SourceControl::all(),
]);
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace App\Http\Livewire\Sites;
use App\Models\Site;
use App\Traits\RefreshComponentOnBroadcast;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class DeleteSite extends Component
{
use RefreshComponentOnBroadcast;
public Site $site;
public function delete(): void
{
$this->site->remove();
$this->redirect(route('servers.sites', ['server' => $this->site->server]));
}
public function render(): View
{
return view('livewire.sites.delete-site');
}
}

View File

@ -0,0 +1,20 @@
<?php
namespace App\Http\Livewire\Sites;
use App\Models\Site;
use App\Traits\RefreshComponentOnBroadcast;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class ShowSite extends Component
{
use RefreshComponentOnBroadcast;
public Site $site;
public function render(): View
{
return view('livewire.sites.show-site');
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace App\Http\Livewire\Sites;
use App\Models\Server;
use App\Traits\RefreshComponentOnBroadcast;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class SitesList extends Component
{
use RefreshComponentOnBroadcast;
public Server $server;
public function refreshComponent(array $data): void
{
if (isset($data['type']) && $data['type'] == 'install-site-finished') {
$this->redirect(
route('servers.sites.show', [
'server' => $this->server,
'site' => $data['data']['site']['id'],
])
);
return;
}
$this->emit('refreshComponent');
}
public function render(): View
{
return view('livewire.sites.sites-list', [
'sites' => $this->server->sites()->latest()->get(),
]);
}
}