mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-07 17:02:34 +00:00
Migrate to HTMX (#114)
Dropped Livewire Added HTMX Added Blade code lint Drop Mysql and Redis Migrate to SQLite
This commit is contained in:
@ -3,7 +3,6 @@
|
||||
namespace App\Jobs\Backup;
|
||||
|
||||
use App\Enums\BackupFileStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\BackupFile;
|
||||
use App\Models\Database;
|
||||
@ -27,22 +26,11 @@ public function handle(): void
|
||||
$this->backupFile->status = BackupFileStatus::RESTORED;
|
||||
$this->backupFile->restored_at = now();
|
||||
$this->backupFile->save();
|
||||
|
||||
event(
|
||||
new Broadcast('backup-restore-finished', [
|
||||
'file' => $this->backupFile,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->backupFile->status = BackupFileStatus::RESTORE_FAILED;
|
||||
$this->backupFile->save();
|
||||
event(
|
||||
new Broadcast('backup-restore-failed', [
|
||||
'file' => $this->backupFile,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@
|
||||
namespace App\Jobs\Backup;
|
||||
|
||||
use App\Enums\BackupFileStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\BackupFile;
|
||||
|
||||
@ -24,22 +23,11 @@ public function handle(): void
|
||||
|
||||
$this->backupFile->status = BackupFileStatus::CREATED;
|
||||
$this->backupFile->save();
|
||||
|
||||
event(
|
||||
new Broadcast('run-backup-finished', [
|
||||
'file' => $this->backupFile,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->backupFile->status = BackupFileStatus::FAILED;
|
||||
$this->backupFile->save();
|
||||
event(
|
||||
new Broadcast('run-backup-failed', [
|
||||
'file' => $this->backupFile,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\CronJob;
|
||||
|
||||
use App\Enums\CronjobStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\CronJob;
|
||||
use App\SSHCommands\CronJob\UpdateCronJobsCommand;
|
||||
use Throwable;
|
||||
|
||||
class AddToServer extends Job
|
||||
{
|
||||
protected CronJob $cronJob;
|
||||
|
||||
public function __construct(CronJob $cronJob)
|
||||
{
|
||||
$this->cronJob = $cronJob;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$this->cronJob->server->ssh()->exec(
|
||||
new UpdateCronJobsCommand($this->cronJob->user, $this->cronJob->crontab),
|
||||
'update-crontab'
|
||||
);
|
||||
$this->cronJob->status = CronjobStatus::READY;
|
||||
$this->cronJob->save();
|
||||
event(
|
||||
new Broadcast('add-cronjob-finished', [
|
||||
'cronJob' => $this->cronJob,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->cronJob->delete();
|
||||
event(
|
||||
new Broadcast('add-cronjob-failed', [
|
||||
'cronJob' => $this->cronJob,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\CronJob;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\CronJob;
|
||||
use App\SSHCommands\CronJob\UpdateCronJobsCommand;
|
||||
use Throwable;
|
||||
|
||||
class RemoveFromServer extends Job
|
||||
{
|
||||
protected CronJob $cronJob;
|
||||
|
||||
public function __construct(CronJob $cronJob)
|
||||
{
|
||||
$this->cronJob = $cronJob;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$this->cronJob->server->ssh()->exec(
|
||||
new UpdateCronJobsCommand($this->cronJob->user, $this->cronJob->crontab),
|
||||
'update-crontab'
|
||||
);
|
||||
$this->cronJob->delete();
|
||||
event(
|
||||
new Broadcast('remove-cronjob-finished', [
|
||||
'id' => $this->cronJob->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->cronJob->save();
|
||||
event(
|
||||
new Broadcast('remove-cronjob-failed', [
|
||||
'cronJob' => $this->cronJob,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Database;
|
||||
|
||||
use App\Enums\DatabaseStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Database;
|
||||
|
||||
class CreateOnServer extends Job
|
||||
{
|
||||
protected Database $database;
|
||||
|
||||
public function __construct(Database $database)
|
||||
{
|
||||
$this->database = $database;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->database->server->database()->handler()->create($this->database->name);
|
||||
$this->database->status = DatabaseStatus::READY;
|
||||
$this->database->save();
|
||||
event(new Broadcast('create-database-finished', [
|
||||
'id' => $this->database->id,
|
||||
]));
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(new Broadcast('create-database-failed', [
|
||||
'id' => $this->database->id,
|
||||
]));
|
||||
}
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Database;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Database;
|
||||
|
||||
class DeleteFromServer extends Job
|
||||
{
|
||||
protected Database $database;
|
||||
|
||||
public function __construct(Database $database)
|
||||
{
|
||||
$this->database = $database;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->database->server->database()->handler()->delete($this->database->name);
|
||||
event(
|
||||
new Broadcast('delete-database-finished', [
|
||||
'id' => $this->database->id,
|
||||
])
|
||||
);
|
||||
$this->database->delete();
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('delete-database-failed', [
|
||||
'id' => $this->database->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\DatabaseUser;
|
||||
|
||||
use App\Enums\DatabaseUserStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\DatabaseUser;
|
||||
|
||||
class CreateOnServer extends Job
|
||||
{
|
||||
protected DatabaseUser $databaseUser;
|
||||
|
||||
public function __construct(DatabaseUser $databaseUser)
|
||||
{
|
||||
$this->databaseUser = $databaseUser;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->databaseUser->server->database()->handler()->createUser(
|
||||
$this->databaseUser->username,
|
||||
$this->databaseUser->password,
|
||||
$this->databaseUser->host
|
||||
);
|
||||
$this->databaseUser->status = DatabaseUserStatus::READY;
|
||||
$this->databaseUser->save();
|
||||
|
||||
if (count($this->databaseUser->databases) > 0) {
|
||||
(new LinkUser($this->databaseUser))->handle();
|
||||
}
|
||||
|
||||
event(
|
||||
new Broadcast('create-database-user-finished', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('create-database-user-failed', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\DatabaseUser;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\DatabaseUser;
|
||||
|
||||
class DeleteFromServer extends Job
|
||||
{
|
||||
protected DatabaseUser $databaseUser;
|
||||
|
||||
public function __construct(DatabaseUser $databaseUser)
|
||||
{
|
||||
$this->databaseUser = $databaseUser;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->databaseUser->server->database()->handler()->deleteUser(
|
||||
$this->databaseUser->username,
|
||||
$this->databaseUser->host
|
||||
);
|
||||
event(
|
||||
new Broadcast('delete-database-user-finished', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
$this->databaseUser->delete();
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('delete-database-user-failed', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\DatabaseUser;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\DatabaseUser;
|
||||
|
||||
class LinkUser extends Job
|
||||
{
|
||||
protected DatabaseUser $databaseUser;
|
||||
|
||||
public function __construct(DatabaseUser $databaseUser)
|
||||
{
|
||||
$this->databaseUser = $databaseUser;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->databaseUser->server->database()->handler()->link(
|
||||
$this->databaseUser->username,
|
||||
$this->databaseUser->host,
|
||||
$this->databaseUser->databases
|
||||
);
|
||||
event(
|
||||
new Broadcast('link-database-user-finished', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('link-database-user-failed', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\DatabaseUser;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\DatabaseUser;
|
||||
|
||||
class UnlinkUser extends Job
|
||||
{
|
||||
protected DatabaseUser $databaseUser;
|
||||
|
||||
public function __construct(DatabaseUser $databaseUser)
|
||||
{
|
||||
$this->databaseUser = $databaseUser;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->databaseUser->server->database()->handler()->unlink(
|
||||
$this->databaseUser->username,
|
||||
$this->databaseUser->host,
|
||||
);
|
||||
event(
|
||||
new Broadcast('unlink-database-user-finished', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('unlink-database-user-failed', [
|
||||
'id' => $this->databaseUser->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Firewall;
|
||||
|
||||
use App\Enums\FirewallRuleStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\FirewallRule;
|
||||
|
||||
class AddToServer extends Job
|
||||
{
|
||||
protected FirewallRule $firewallRule;
|
||||
|
||||
public function __construct(FirewallRule $firewallRule)
|
||||
{
|
||||
$this->firewallRule = $firewallRule;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->firewallRule->server->firewall()
|
||||
->handler()
|
||||
->addRule(
|
||||
$this->firewallRule->type,
|
||||
$this->firewallRule->real_protocol,
|
||||
$this->firewallRule->port,
|
||||
$this->firewallRule->source,
|
||||
$this->firewallRule->mask
|
||||
);
|
||||
$this->firewallRule->status = FirewallRuleStatus::READY;
|
||||
$this->firewallRule->save();
|
||||
event(
|
||||
new Broadcast('create-firewall-rule-finished', [
|
||||
'firewallRule' => $this->firewallRule,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->firewallRule->delete();
|
||||
event(
|
||||
new Broadcast('create-firewall-rule-failed', [
|
||||
'firewallRule' => $this->firewallRule,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Firewall;
|
||||
|
||||
use App\Enums\FirewallRuleStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\FirewallRule;
|
||||
|
||||
class RemoveFromServer extends Job
|
||||
{
|
||||
protected FirewallRule $firewallRule;
|
||||
|
||||
public function __construct(FirewallRule $firewallRule)
|
||||
{
|
||||
$this->firewallRule = $firewallRule;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->firewallRule->server->firewall()
|
||||
->handler()
|
||||
->removeRule(
|
||||
$this->firewallRule->type,
|
||||
$this->firewallRule->real_protocol,
|
||||
$this->firewallRule->port,
|
||||
$this->firewallRule->source,
|
||||
$this->firewallRule->mask
|
||||
);
|
||||
$this->firewallRule->delete();
|
||||
event(
|
||||
new Broadcast('delete-firewall-rule-finished', [
|
||||
'id' => $this->firewallRule->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->firewallRule->status = FirewallRuleStatus::READY;
|
||||
$this->firewallRule->save();
|
||||
event(
|
||||
new Broadcast('delete-firewall-rule-failed', [
|
||||
'firewallRule' => $this->firewallRule,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -13,6 +13,9 @@
|
||||
use Illuminate\Support\Str;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
class InstallPHPMyAdmin extends Job
|
||||
{
|
||||
protected Service $service;
|
||||
|
@ -9,6 +9,9 @@
|
||||
use Exception;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
class UninstallPHPMyAdmin extends Job
|
||||
{
|
||||
protected Service $service;
|
||||
|
@ -1,46 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\PHP;
|
||||
|
||||
use App\Enums\ServiceStatus;
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Service;
|
||||
use App\SSHCommands\PHP\ChangeDefaultPHPCommand;
|
||||
use Throwable;
|
||||
|
||||
class SetDefaultCli extends Job
|
||||
{
|
||||
protected Service $service;
|
||||
|
||||
public function __construct(Service $service)
|
||||
{
|
||||
$this->service = $service;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$this->service->server->ssh()->exec(
|
||||
new ChangeDefaultPHPCommand($this->service->version),
|
||||
'change-default-php'
|
||||
);
|
||||
$this->service->server->defaultService('php')->update(['is_default' => 0]);
|
||||
$this->service->update(['is_default' => 1]);
|
||||
$this->service->update(['status' => ServiceStatus::READY]);
|
||||
event(
|
||||
new Broadcast('set-default-cli-finished', [
|
||||
'defaultPHP' => $this->service->server->defaultService('php'),
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(new Broadcast('set-default-cli-failed', [
|
||||
'defaultPHP' => $this->service->server->defaultService('php'),
|
||||
]));
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Server;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Facades\Notifier;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Server;
|
||||
use App\Notifications\ServerDisconnected;
|
||||
use Throwable;
|
||||
|
||||
class CheckConnection extends Job
|
||||
{
|
||||
protected Server $server;
|
||||
|
||||
public function __construct(Server $server)
|
||||
{
|
||||
$this->server = $server;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$status = $this->server->status;
|
||||
$this->server->ssh()->connect();
|
||||
$this->server->refresh();
|
||||
if ($status == 'disconnected') {
|
||||
$this->server->status = 'ready';
|
||||
$this->server->save();
|
||||
}
|
||||
event(
|
||||
new Broadcast('server-status-finished', [
|
||||
'server' => $this->server,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->server->status = 'disconnected';
|
||||
$this->server->save();
|
||||
Notifier::send($this->server, new ServerDisconnected($this->server));
|
||||
event(
|
||||
new Broadcast('server-status-failed', [
|
||||
'server' => $this->server,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Server;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Server;
|
||||
use App\SSHCommands\System\RebootCommand;
|
||||
use Throwable;
|
||||
|
||||
class RebootServer extends Job
|
||||
{
|
||||
protected Server $server;
|
||||
|
||||
public function __construct(Server $server)
|
||||
{
|
||||
$this->server = $server;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$this->server->ssh()->exec(new RebootCommand(), 'reboot');
|
||||
event(
|
||||
new Broadcast('reboot-server-finished', [
|
||||
'message' => __('The server is being rebooted. It can take several minutes to boot up'),
|
||||
'id' => $this->server->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
$this->server->status = 'ready';
|
||||
$this->server->save();
|
||||
event(
|
||||
new Broadcast('reboot-server-failed', [
|
||||
'message' => __('Failed to reboot the server'),
|
||||
'server' => $this->server,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Site;
|
||||
|
||||
use App\Events\Broadcast;
|
||||
use App\Jobs\Job;
|
||||
use App\Models\Site;
|
||||
|
||||
class ChangePHPVersion extends Job
|
||||
{
|
||||
protected Site $site;
|
||||
|
||||
protected string $version;
|
||||
|
||||
public function __construct(Site $site, $version)
|
||||
{
|
||||
$this->site = $site;
|
||||
$this->version = $version;
|
||||
}
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->site->php_version = $this->version;
|
||||
$this->site->server->webserver()->handler()->changePHPVersion($this->site, $this->version);
|
||||
$this->site->save();
|
||||
event(
|
||||
new Broadcast('change-site-php-finished', [
|
||||
'id' => $this->site->id,
|
||||
'php_version' => $this->site->php_version,
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
public function failed(): void
|
||||
{
|
||||
event(
|
||||
new Broadcast('change-site-php-failed', [
|
||||
'message' => __('Failed to change PHP!'),
|
||||
'id' => $this->site->id,
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user