2.x - php

This commit is contained in:
Saeed Vaziry
2024-09-28 15:19:55 +02:00
parent f6bc04763b
commit 32993025de
21 changed files with 698 additions and 83 deletions

View File

@ -5,16 +5,12 @@
use App\Enums\ServiceStatus;
use App\Models\Server;
use App\Models\Service;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Illuminate\Validation\ValidationException;
class InstallNewPHP
{
public function install(Server $server, array $input): void
{
$this->validate($server, $input);
$php = new Service([
'server_id' => $server->id,
'type' => 'php',
@ -38,22 +34,14 @@ public function install(Server $server, array $input): void
})->onConnection('ssh');
}
/**
* @throws ValidationException
*/
private function validate(Server $server, array $input): void
public static function rules(Server $server): array
{
Validator::make($input, [
return [
'version' => [
'required',
Rule::in(config('core.php_versions')),
Rule::notIn($server->installedPHPVersions()),
],
])->validate();
if (in_array($input['version'], $server->installedPHPVersions())) {
throw ValidationException::withMessages(
['version' => __('This version is already installed')]
);
}
];
}
}