mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +00:00
refactoring
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http;
|
||||
|
||||
use App\Http\Middleware\ServerIsReadyMiddleware;
|
||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||
|
||||
class Kernel extends HttpKernel
|
||||
@ -63,5 +64,6 @@ class Kernel extends HttpKernel
|
||||
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'server-is-ready' => ServerIsReadyMiddleware::class
|
||||
];
|
||||
}
|
||||
|
21
app/Http/Livewire/Broadcast.php
Normal file
21
app/Http/Livewire/Broadcast.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Livewire\Component;
|
||||
|
||||
class Broadcast extends Component
|
||||
{
|
||||
public function render(): View
|
||||
{
|
||||
$event = Cache::get('broadcast');
|
||||
if ($event) {
|
||||
Cache::forget('broadcast');
|
||||
$this->emit('broadcast', $event);
|
||||
}
|
||||
|
||||
return view('livewire.broadcast');
|
||||
}
|
||||
}
|
@ -32,10 +32,10 @@ class DatabaseList extends Component
|
||||
|
||||
public function create(): void
|
||||
{
|
||||
app(CreateDatabase::class)->create($this->server, $this->all());
|
||||
$database = app(CreateDatabase::class)->create($this->server, $this->all());
|
||||
|
||||
if ($this->all()['user']) {
|
||||
app(CreateDatabaseUser::class)->create($this->server, $this->all());
|
||||
app(CreateDatabaseUser::class)->create($this->server, $this->all(), [$database->name]);
|
||||
}
|
||||
|
||||
$this->refreshComponent([]);
|
||||
@ -45,6 +45,7 @@ public function create(): void
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
/** @var Database $database */
|
||||
$database = Database::query()->findOrFail($this->deleteId);
|
||||
|
||||
$database->deleteFromServer();
|
||||
|
@ -43,6 +43,7 @@ public function create(): void
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
/** @var DatabaseUser $databaseUser */
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($this->deleteId);
|
||||
|
||||
$databaseUser->deleteFromServer();
|
||||
@ -56,6 +57,7 @@ public function delete(): void
|
||||
|
||||
public function viewPassword(int $id): void
|
||||
{
|
||||
/** @var DatabaseUser $databaseUser */
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($id);
|
||||
|
||||
$this->viewPassword = $databaseUser->password;
|
||||
@ -65,6 +67,7 @@ public function viewPassword(int $id): void
|
||||
|
||||
public function showLink(int $id): void
|
||||
{
|
||||
/** @var DatabaseUser $databaseUser */
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($id);
|
||||
|
||||
$this->linkId = $id;
|
||||
@ -75,6 +78,7 @@ public function showLink(int $id): void
|
||||
|
||||
public function link(): void
|
||||
{
|
||||
/** @var DatabaseUser $databaseUser */
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($this->linkId);
|
||||
|
||||
app(LinkUser::class)->link($databaseUser, $this->link);
|
||||
|
@ -22,7 +22,7 @@ class CreateFirewallRule extends Component
|
||||
|
||||
public string $source = '0.0.0.0';
|
||||
|
||||
public string $mask = '0';
|
||||
public string $mask = '';
|
||||
|
||||
public function create(): void
|
||||
{
|
||||
|
@ -18,6 +18,7 @@ class FirewallRulesList extends Component
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
/** @var FirewallRule $rule */
|
||||
$rule = FirewallRule::query()->findOrFail($this->deleteId);
|
||||
|
||||
$rule->removeFromServer();
|
||||
|
@ -6,7 +6,7 @@
|
||||
use App\Actions\PHP\UpdatePHPIni;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
use App\SSHCommands\GetPHPIniCommand;
|
||||
use App\SSHCommands\PHP\GetPHPIniCommand;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
20
app/Http/Livewire/Servers/ServerStatus.php
Normal file
20
app/Http/Livewire/Servers/ServerStatus.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Servers;
|
||||
|
||||
use App\Models\Server;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class ServerStatus extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Server $server;
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.servers.server-status');
|
||||
}
|
||||
}
|
20
app/Http/Livewire/Sites/SiteStatus.php
Normal file
20
app/Http/Livewire/Sites/SiteStatus.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 SiteStatus extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Site $site;
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.sites.site-status');
|
||||
}
|
||||
}
|
@ -11,8 +11,12 @@ class Bitbucket extends Component
|
||||
{
|
||||
public string $token;
|
||||
|
||||
public ?string $url;
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->url = request()->input('redirect') ?? null;
|
||||
|
||||
$this->token = SourceControl::query()
|
||||
->where('provider', \App\Enums\SourceControl::BITBUCKET)
|
||||
->first()?->access_token ?? '';
|
||||
@ -23,6 +27,10 @@ public function connect(): void
|
||||
app(ConnectSourceControl::class)->connect(\App\Enums\SourceControl::BITBUCKET, $this->all());
|
||||
|
||||
session()->flash('status', 'bitbucket-updated');
|
||||
|
||||
if ($this->url) {
|
||||
$this->redirect($this->url);
|
||||
}
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
|
38
app/Http/Livewire/SourceControls/Connect.php
Normal file
38
app/Http/Livewire/SourceControls/Connect.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\SourceControls;
|
||||
|
||||
use App\Actions\SourceControl\ConnectSourceControl;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class Connect extends Component
|
||||
{
|
||||
public string $provider = '';
|
||||
|
||||
public string $name;
|
||||
|
||||
public string $token;
|
||||
|
||||
public string $url;
|
||||
|
||||
public function connect(): void
|
||||
{
|
||||
app(ConnectSourceControl::class)->connect($this->all());
|
||||
|
||||
$this->emitTo(SourceControlsList::class, '$refresh');
|
||||
|
||||
$this->dispatchBrowserEvent('connected', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
if (request()->query('provider')) {
|
||||
$this->provider = request()->query('provider');
|
||||
}
|
||||
|
||||
return view('livewire.source-controls.connect', [
|
||||
'open' => ! is_null(request()->query('provider')),
|
||||
]);
|
||||
}
|
||||
}
|
@ -11,8 +11,12 @@ class Github extends Component
|
||||
{
|
||||
public string $token;
|
||||
|
||||
public ?string $url;
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->url = request()->input('redirect') ?? null;
|
||||
|
||||
$this->token = SourceControl::query()
|
||||
->where('provider', \App\Enums\SourceControl::GITHUB)
|
||||
->first()?->access_token ?? '';
|
||||
@ -20,9 +24,13 @@ public function mount(): void
|
||||
|
||||
public function connect(): void
|
||||
{
|
||||
app(ConnectSourceControl::class)->connect(\App\Enums\SourceControl::GITHUB, $this->all());
|
||||
app(ConnectSourceControl::class)->connect(\App\Enums\SourceControl::GITHUB, array_merge($this->all()));
|
||||
|
||||
session()->flash('status', 'github-updated');
|
||||
|
||||
if ($this->url) {
|
||||
$this->redirect($this->url);
|
||||
}
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
|
@ -11,8 +11,12 @@ class Gitlab extends Component
|
||||
{
|
||||
public string $token;
|
||||
|
||||
public ?string $url;
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->url = request()->input('redirect') ?? null;
|
||||
|
||||
$this->token = SourceControl::query()
|
||||
->where('provider', \App\Enums\SourceControl::GITLAB)
|
||||
->first()?->access_token ?? '';
|
||||
@ -23,6 +27,10 @@ public function connect(): void
|
||||
app(ConnectSourceControl::class)->connect(\App\Enums\SourceControl::GITLAB, $this->all());
|
||||
|
||||
session()->flash('status', 'gitlab-updated');
|
||||
|
||||
if ($this->url) {
|
||||
$this->redirect($this->url);
|
||||
}
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
|
37
app/Http/Livewire/SourceControls/SourceControlsList.php
Normal file
37
app/Http/Livewire/SourceControls/SourceControlsList.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\SourceControls;
|
||||
|
||||
use App\Models\SourceControl;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class SourceControlsList extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public int $deleteId;
|
||||
|
||||
protected $listeners = [
|
||||
'$refresh',
|
||||
];
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
$provider = SourceControl::query()->findOrFail($this->deleteId);
|
||||
|
||||
$provider->delete();
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->dispatchBrowserEvent('confirmed', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.source-controls.source-controls-list', [
|
||||
'sourceControls' => SourceControl::query()->latest()->get(),
|
||||
]);
|
||||
}
|
||||
}
|
22
app/Http/Middleware/ServerIsReadyMiddleware.php
Normal file
22
app/Http/Middleware/ServerIsReadyMiddleware.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\Server;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ServerIsReadyMiddleware
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = $request->route('server');
|
||||
|
||||
if (! $server->isReady()) {
|
||||
return redirect()->route('servers.show', ['server' => $server]);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user