mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 16:02:34 +00:00
init
This commit is contained in:
41
app/Http/Livewire/Sites/ChangePhpVersion.php
Normal file
41
app/Http/Livewire/Sites/ChangePhpVersion.php
Normal 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');
|
||||
}
|
||||
}
|
59
app/Http/Livewire/Sites/CreateSite.php
Normal file
59
app/Http/Livewire/Sites/CreateSite.php
Normal 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(),
|
||||
]);
|
||||
}
|
||||
}
|
27
app/Http/Livewire/Sites/DeleteSite.php
Normal file
27
app/Http/Livewire/Sites/DeleteSite.php
Normal 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');
|
||||
}
|
||||
}
|
20
app/Http/Livewire/Sites/ShowSite.php
Normal file
20
app/Http/Livewire/Sites/ShowSite.php
Normal 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');
|
||||
}
|
||||
}
|
38
app/Http/Livewire/Sites/SitesList.php
Normal file
38
app/Http/Livewire/Sites/SitesList.php
Normal 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(),
|
||||
]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user