mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +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:
@ -5,12 +5,17 @@
|
||||
use App\Enums\CronjobStatus;
|
||||
use App\Models\CronJob;
|
||||
use App\Models\Server;
|
||||
use App\SSHCommands\CronJob\UpdateCronJobsCommand;
|
||||
use App\ValidationRules\CronRule;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Throwable;
|
||||
|
||||
class CreateCronJob
|
||||
{
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function create(Server $server, array $input): void
|
||||
{
|
||||
$this->validate($input);
|
||||
@ -19,11 +24,17 @@ public function create(Server $server, array $input): void
|
||||
'server_id' => $server->id,
|
||||
'user' => $input['user'],
|
||||
'command' => $input['command'],
|
||||
'frequency' => $input['frequency'],
|
||||
'frequency' => $input['frequency'] == 'custom' ? $input['custom'] : $input['frequency'],
|
||||
'status' => CronjobStatus::CREATING,
|
||||
]);
|
||||
$cronJob->save();
|
||||
$cronJob->addToServer();
|
||||
|
||||
$server->ssh()->exec(
|
||||
new UpdateCronJobsCommand($cronJob->user, CronJob::crontab($server, $cronJob->user)),
|
||||
'update-crontab'
|
||||
);
|
||||
$cronJob->status = CronjobStatus::READY;
|
||||
$cronJob->save();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -41,8 +52,17 @@ private function validate(array $input): void
|
||||
],
|
||||
'frequency' => [
|
||||
'required',
|
||||
new CronRule(),
|
||||
new CronRule(acceptCustom: true),
|
||||
],
|
||||
])->validateWithBag('createCronJob');
|
||||
])->validate();
|
||||
|
||||
if ($input['frequency'] == 'custom') {
|
||||
Validator::make($input, [
|
||||
'custom' => [
|
||||
'required',
|
||||
new CronRule(),
|
||||
],
|
||||
])->validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user