mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 14:36:17 +00:00
init
This commit is contained in:
65
app/Http/Livewire/Databases/DatabaseList.php
Normal file
65
app/Http/Livewire/Databases/DatabaseList.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Databases;
|
||||
|
||||
use App\Actions\Database\CreateDatabase;
|
||||
use App\Actions\Database\CreateDatabaseUser;
|
||||
use App\Models\Database;
|
||||
use App\Models\Server;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class DatabaseList extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Server $server;
|
||||
|
||||
public int $deleteId;
|
||||
|
||||
public string $name;
|
||||
|
||||
public bool $user;
|
||||
|
||||
public string $username;
|
||||
|
||||
public string $password;
|
||||
|
||||
public bool $remote = false;
|
||||
|
||||
public string $host = '%';
|
||||
|
||||
public function create(): void
|
||||
{
|
||||
app(CreateDatabase::class)->create($this->server, $this->all());
|
||||
|
||||
if ($this->all()['user']) {
|
||||
app(CreateDatabaseUser::class)->create($this->server, $this->all());
|
||||
}
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->dispatchBrowserEvent('database-created', true);
|
||||
}
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
$database = Database::query()->findOrFail($this->deleteId);
|
||||
|
||||
$database->deleteFromServer();
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->emitTo(DatabaseUserList::class, '$refresh');
|
||||
|
||||
$this->dispatchBrowserEvent('confirmed', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.databases.database-list', [
|
||||
'databases' => $this->server->databases,
|
||||
]);
|
||||
}
|
||||
}
|
94
app/Http/Livewire/Databases/DatabaseUserList.php
Normal file
94
app/Http/Livewire/Databases/DatabaseUserList.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Databases;
|
||||
|
||||
use App\Actions\Database\CreateDatabaseUser;
|
||||
use App\Actions\Database\LinkUser;
|
||||
use App\Models\DatabaseUser;
|
||||
use App\Models\Server;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class DatabaseUserList extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Server $server;
|
||||
|
||||
public int $deleteId;
|
||||
|
||||
public string $username;
|
||||
|
||||
public string $password;
|
||||
|
||||
public bool $remote;
|
||||
|
||||
public string $host = '%';
|
||||
|
||||
public int $linkId;
|
||||
|
||||
public array $link = [];
|
||||
|
||||
public string $viewPassword = '';
|
||||
|
||||
public function create(): void
|
||||
{
|
||||
app(CreateDatabaseUser::class)->create($this->server, $this->all());
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->dispatchBrowserEvent('database-user-created', true);
|
||||
}
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($this->deleteId);
|
||||
|
||||
$databaseUser->deleteFromServer();
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->emitTo(DatabaseList::class, '$refresh');
|
||||
|
||||
$this->dispatchBrowserEvent('confirmed', true);
|
||||
}
|
||||
|
||||
public function viewPassword(int $id): void
|
||||
{
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($id);
|
||||
|
||||
$this->viewPassword = $databaseUser->password;
|
||||
|
||||
$this->dispatchBrowserEvent('open-modal', 'database-user-password');
|
||||
}
|
||||
|
||||
public function showLink(int $id): void
|
||||
{
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($id);
|
||||
|
||||
$this->linkId = $id;
|
||||
$this->link = $databaseUser->databases;
|
||||
|
||||
$this->dispatchBrowserEvent('open-modal', 'link-database-user');
|
||||
}
|
||||
|
||||
public function link(): void
|
||||
{
|
||||
$databaseUser = DatabaseUser::query()->findOrFail($this->linkId);
|
||||
|
||||
app(LinkUser::class)->link($databaseUser, $this->link);
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->dispatchBrowserEvent('linked', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.databases.database-user-list', [
|
||||
'databases' => $this->server->databases,
|
||||
'databaseUsers' => $this->server->databaseUsers,
|
||||
]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user