mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-04 15:32:35 +00:00
Add phpstan level 7(#544)
This commit is contained in:
@ -24,6 +24,9 @@
|
||||
|
||||
class CreateServer
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*/
|
||||
public function create(User $creator, Project $project, array $input): Server
|
||||
{
|
||||
$server = new Server([
|
||||
@ -81,7 +84,7 @@ public function create(User $creator, Project $project, array $input): Server
|
||||
|
||||
private function install(Server $server): void
|
||||
{
|
||||
dispatch(function () use ($server) {
|
||||
dispatch(function () use ($server): void {
|
||||
$maxWait = 180;
|
||||
while ($maxWait > 0) {
|
||||
sleep(10);
|
||||
@ -102,7 +105,7 @@ private function install(Server $server): void
|
||||
]);
|
||||
Notifier::send($server, new ServerInstallationSucceed($server));
|
||||
})
|
||||
->catch(function (Throwable $e) use ($server) {
|
||||
->catch(function (Throwable $e) use ($server): void {
|
||||
$server->update([
|
||||
'status' => ServerStatus::INSTALLATION_FAILED,
|
||||
]);
|
||||
@ -114,6 +117,10 @@ private function install(Server $server): void
|
||||
->onConnection('ssh');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public static function rules(Project $project, array $input): array
|
||||
{
|
||||
$rules = [
|
||||
@ -129,28 +136,22 @@ public static function rules(Project $project, array $input): array
|
||||
Rule::in(config('core.operating_systems')),
|
||||
],
|
||||
'server_provider' => [
|
||||
Rule::when(function () use ($input) {
|
||||
return isset($input['provider']) && $input['provider'] != ServerProvider::CUSTOM;
|
||||
}, [
|
||||
Rule::when(fn (): bool => isset($input['provider']) && $input['provider'] != ServerProvider::CUSTOM, [
|
||||
'required',
|
||||
Rule::exists('server_providers', 'id')->where(function (Builder $query) use ($project) {
|
||||
Rule::exists('server_providers', 'id')->where(function (Builder $query) use ($project): void {
|
||||
$query->where('project_id', $project->id)
|
||||
->orWhereNull('project_id');
|
||||
}),
|
||||
]),
|
||||
],
|
||||
'ip' => [
|
||||
Rule::when(function () use ($input) {
|
||||
return isset($input['provider']) && $input['provider'] == ServerProvider::CUSTOM;
|
||||
}, [
|
||||
Rule::when(fn (): bool => isset($input['provider']) && $input['provider'] == ServerProvider::CUSTOM, [
|
||||
'required',
|
||||
new RestrictedIPAddressesRule,
|
||||
]),
|
||||
],
|
||||
'port' => [
|
||||
Rule::when(function () use ($input) {
|
||||
return isset($input['provider']) && $input['provider'] == ServerProvider::CUSTOM;
|
||||
}, [
|
||||
Rule::when(fn (): bool => isset($input['provider']) && $input['provider'] == ServerProvider::CUSTOM, [
|
||||
'required',
|
||||
'numeric',
|
||||
'min:1',
|
||||
@ -162,6 +163,10 @@ public static function rules(Project $project, array $input): array
|
||||
return array_merge($rules, self::typeRules($input), self::providerRules($input));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, array<string>>
|
||||
*/
|
||||
private static function typeRules(array $input): array
|
||||
{
|
||||
if (! isset($input['type']) || ! in_array($input['type'], config('core.server_types'))) {
|
||||
@ -173,6 +178,10 @@ private static function typeRules(array $input): array
|
||||
return $server->type()->createRules($input);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return array<string, array<string>>
|
||||
*/
|
||||
private static function providerRules(array $input): array
|
||||
{
|
||||
if (
|
||||
|
@ -8,6 +8,8 @@
|
||||
class CreateServerLog
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public function create(Server $server, array $input): void
|
||||
@ -20,6 +22,9 @@ public function create(Server $server, array $input): void
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function rules(): array
|
||||
{
|
||||
return [
|
||||
|
@ -10,6 +10,9 @@
|
||||
class EditServer
|
||||
{
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
* @return Server $server
|
||||
*
|
||||
* @throws ValidationException
|
||||
*/
|
||||
public function edit(Server $server, array $input): Server
|
||||
@ -42,6 +45,9 @@ public function edit(Server $server, array $input): Server
|
||||
return $server;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, array<int, mixed>>
|
||||
*/
|
||||
public static function rules(Server $server): array
|
||||
{
|
||||
return [
|
||||
|
@ -13,11 +13,11 @@ public function update(Server $server): void
|
||||
{
|
||||
$server->status = ServerStatus::UPDATING;
|
||||
$server->save();
|
||||
dispatch(function () use ($server) {
|
||||
dispatch(function () use ($server): void {
|
||||
$server->os()->upgrade();
|
||||
$server->checkConnection();
|
||||
$server->checkForUpdates();
|
||||
})->catch(function () use ($server) {
|
||||
})->catch(function () use ($server): void {
|
||||
Notifier::send($server, new ServerUpdateFailed($server));
|
||||
$server->checkConnection();
|
||||
})->onConnection('ssh');
|
||||
|
Reference in New Issue
Block a user