mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 07:52:34 +00:00
Add phpstan level 7(#544)
This commit is contained in:
@ -5,11 +5,15 @@
|
||||
use App\Enums\DatabaseStatus;
|
||||
use App\Models\Database;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class CreateDatabase
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*/
|
||||
public function create(Server $server, array $input): Database
|
||||
{
|
||||
$database = new Database([
|
||||
@ -18,8 +22,12 @@ public function create(Server $server, array $input): Database
|
||||
'collation' => $input['collation'],
|
||||
'name' => $input['name'],
|
||||
]);
|
||||
|
||||
/** @var Service $service */
|
||||
$service = $server->database();
|
||||
|
||||
/** @var \App\SSH\Services\Database\Database $databaseHandler */
|
||||
$databaseHandler = $server->database()->handler();
|
||||
$databaseHandler = $service->handler();
|
||||
$databaseHandler->create($database->name, $database->charset, $database->collation);
|
||||
$database->status = DatabaseStatus::READY;
|
||||
$database->save();
|
||||
@ -34,6 +42,9 @@ public function create(Server $server, array $input): Database
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, mixed>
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public static function rules(Server $server, array $input): array
|
||||
|
@ -5,6 +5,7 @@
|
||||
use App\Enums\DatabaseUserStatus;
|
||||
use App\Models\DatabaseUser;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
use App\SSH\Services\Database\Database;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
@ -12,6 +13,9 @@
|
||||
class CreateDatabaseUser
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @param array<string> $links
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public function create(Server $server, array $input, array $links = []): DatabaseUser
|
||||
@ -23,8 +27,12 @@ public function create(Server $server, array $input, array $links = []): Databas
|
||||
'host' => (isset($input['remote']) && $input['remote']) || isset($input['host']) ? $input['host'] : 'localhost',
|
||||
'databases' => $links,
|
||||
]);
|
||||
|
||||
/** @var Service $service */
|
||||
$service = $server->database();
|
||||
|
||||
/** @var Database $databaseHandler */
|
||||
$databaseHandler = $server->database()->handler();
|
||||
$databaseHandler = $service->handler();
|
||||
$databaseHandler->createUser(
|
||||
$databaseUser->username,
|
||||
$databaseUser->password,
|
||||
@ -41,6 +49,9 @@ public function create(Server $server, array $input, array $links = []): Databas
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, mixed>
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public static function rules(Server $server, array $input): array
|
||||
|
@ -4,12 +4,17 @@
|
||||
|
||||
use App\Models\Database;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
|
||||
class DeleteDatabase
|
||||
{
|
||||
public function delete(Server $server, Database $database): void
|
||||
{
|
||||
$server->database()->handler()->delete($database->name);
|
||||
/** @var Service $service */
|
||||
$service = $server->database();
|
||||
/** @var \App\SSH\Services\Database\Database $handler */
|
||||
$handler = $service->handler();
|
||||
$handler->delete($database->name);
|
||||
$database->delete();
|
||||
}
|
||||
}
|
||||
|
@ -4,12 +4,18 @@
|
||||
|
||||
use App\Models\DatabaseUser;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
use App\SSH\Services\Database\Database;
|
||||
|
||||
class DeleteDatabaseUser
|
||||
{
|
||||
public function delete(Server $server, DatabaseUser $databaseUser): void
|
||||
{
|
||||
$server->database()->handler()->deleteUser($databaseUser->username, $databaseUser->host);
|
||||
/** @var Service $service */
|
||||
$service = $server->database();
|
||||
/** @var Database $handler */
|
||||
$handler = $service->handler();
|
||||
$handler->deleteUser($databaseUser->username, $databaseUser->host);
|
||||
$databaseUser->delete();
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,16 @@
|
||||
use App\Models\Database;
|
||||
use App\Models\DatabaseUser;
|
||||
use App\Models\Server;
|
||||
use App\Models\Service;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class LinkUser
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return DatabaseUser $databaseUser
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public function link(DatabaseUser $databaseUser, array $input): DatabaseUser
|
||||
@ -29,14 +33,20 @@ public function link(DatabaseUser $databaseUser, array $input): DatabaseUser
|
||||
|
||||
$databaseUser->databases = $input['databases'];
|
||||
|
||||
/** @var Service $service */
|
||||
$service = $databaseUser->server->database();
|
||||
|
||||
/** @var \App\SSH\Services\Database\Database $handler */
|
||||
$handler = $service->handler();
|
||||
|
||||
// Unlink the user from all databases
|
||||
$databaseUser->server->database()->handler()->unlink(
|
||||
$handler->unlink(
|
||||
$databaseUser->username,
|
||||
$databaseUser->host
|
||||
);
|
||||
|
||||
// Link the user to the selected databases
|
||||
$databaseUser->server->database()->handler()->link(
|
||||
$handler->link(
|
||||
$databaseUser->username,
|
||||
$databaseUser->host,
|
||||
$databaseUser->databases
|
||||
@ -49,6 +59,10 @@ public function link(DatabaseUser $databaseUser, array $input): DatabaseUser
|
||||
return $databaseUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public static function rules(Server $server, array $input): array
|
||||
{
|
||||
return [
|
||||
|
@ -14,6 +14,8 @@
|
||||
class ManageBackup
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*
|
||||
* @throws AuthorizationException
|
||||
* @throws ValidationException
|
||||
*/
|
||||
@ -35,6 +37,9 @@ public function create(Server $server, array $input): Backup
|
||||
return $backup;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*/
|
||||
public function update(Backup $backup, array $input): void
|
||||
{
|
||||
$backup->interval = $input['interval'] == 'custom' ? $input['custom_interval'] : $input['interval'];
|
||||
@ -47,7 +52,7 @@ public function delete(Backup $backup): void
|
||||
$backup->status = BackupStatus::DELETING;
|
||||
$backup->save();
|
||||
|
||||
dispatch(function () use ($backup) {
|
||||
dispatch(function () use ($backup): void {
|
||||
$files = $backup->files;
|
||||
foreach ($files as $file) {
|
||||
$file->status = BackupFileStatus::DELETING;
|
||||
@ -60,6 +65,10 @@ public function delete(Backup $backup): void
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public static function rules(Server $server, array $input): array
|
||||
{
|
||||
$rules = [
|
||||
|
@ -28,7 +28,7 @@ public function delete(BackupFile $file): void
|
||||
$file->status = BackupFileStatus::DELETING;
|
||||
$file->save();
|
||||
|
||||
dispatch(function () use ($file) {
|
||||
dispatch(function () use ($file): void {
|
||||
$file->deleteFile();
|
||||
});
|
||||
}
|
||||
|
@ -5,9 +5,13 @@
|
||||
use App\Enums\BackupFileStatus;
|
||||
use App\Models\BackupFile;
|
||||
use App\Models\Database;
|
||||
use App\Models\Service;
|
||||
|
||||
class RestoreBackup
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*/
|
||||
public function restore(BackupFile $backupFile, array $input): void
|
||||
{
|
||||
/** @var Database $database */
|
||||
@ -16,19 +20,24 @@ public function restore(BackupFile $backupFile, array $input): void
|
||||
$backupFile->restored_to = $database->name;
|
||||
$backupFile->save();
|
||||
|
||||
dispatch(function () use ($backupFile, $database) {
|
||||
dispatch(function () use ($backupFile, $database): void {
|
||||
/** @var Service $service */
|
||||
$service = $database->server->database();
|
||||
/** @var \App\SSH\Services\Database\Database $databaseHandler */
|
||||
$databaseHandler = $database->server->database()->handler();
|
||||
$databaseHandler = $service->handler();
|
||||
$databaseHandler->restoreBackup($backupFile, $database->name);
|
||||
$backupFile->status = BackupFileStatus::RESTORED;
|
||||
$backupFile->restored_at = now();
|
||||
$backupFile->save();
|
||||
})->catch(function () use ($backupFile) {
|
||||
})->catch(function () use ($backupFile): void {
|
||||
$backupFile->status = BackupFileStatus::RESTORE_FAILED;
|
||||
$backupFile->save();
|
||||
})->onConnection('ssh');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, array<string>>
|
||||
*/
|
||||
public static function rules(): array
|
||||
{
|
||||
return [
|
||||
|
@ -6,6 +6,7 @@
|
||||
use App\Enums\BackupStatus;
|
||||
use App\Models\Backup;
|
||||
use App\Models\BackupFile;
|
||||
use App\Models\Service;
|
||||
use App\SSH\Services\Database\Database;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
@ -20,9 +21,11 @@ public function run(Backup $backup): BackupFile
|
||||
]);
|
||||
$file->save();
|
||||
|
||||
dispatch(function () use ($file, $backup) {
|
||||
dispatch(function () use ($file, $backup): void {
|
||||
/** @var Service $service */
|
||||
$service = $backup->server->database();
|
||||
/** @var Database $databaseHandler */
|
||||
$databaseHandler = $file->backup->server->database()->handler();
|
||||
$databaseHandler = $service->handler();
|
||||
$databaseHandler->runBackup($file);
|
||||
$file->status = BackupFileStatus::CREATED;
|
||||
$file->save();
|
||||
@ -31,7 +34,7 @@ public function run(Backup $backup): BackupFile
|
||||
$backup->status = BackupStatus::RUNNING;
|
||||
$backup->save();
|
||||
}
|
||||
})->catch(function () use ($file, $backup) {
|
||||
})->catch(function () use ($file, $backup): void {
|
||||
$backup->status = BackupStatus::FAILED;
|
||||
$backup->save();
|
||||
$file->status = BackupFileStatus::FAILED;
|
||||
|
Reference in New Issue
Block a user