2.x - firewall/metrics/services/cronjobs

This commit is contained in:
Saeed Vaziry
2024-10-01 19:09:38 +02:00
parent 2e9620409b
commit 906ddc38de
58 changed files with 1625 additions and 631 deletions

View File

@ -12,12 +12,10 @@ class Install
{
public function install(Server $server, array $input): Service
{
$this->validate($server, $input);
$service = new Service([
'server_id' => $server->id,
'name' => $input['name'],
'type' => $input['type'],
'type' => config('core.service_types')[$input['name']],
'version' => $input['version'],
'status' => ServiceStatus::INSTALLING,
]);
@ -40,18 +38,21 @@ public function install(Server $server, array $input): Service
return $service;
}
private function validate(Server $server, array $input): void
public static function rules(array $input): array
{
Validator::make($input, [
'type' => [
'required',
Rule::in(config('core.service_types')),
],
$rules = [
'name' => [
'required',
Rule::in(array_keys(config('core.service_types'))),
],
'version' => 'required',
])->validate();
'version' => [
'required',
],
];
if (isset($input['name'])) {
$rules['version'][] = Rule::in(config("core.service_versions.{$input['name']}"));
}
return $rules;
}
}