Add phpstan level 7(#544)

This commit is contained in:
Saeed Vaziry
2025-03-12 13:31:10 +01:00
committed by GitHub
parent c22bb1fa80
commit 493cbb0849
437 changed files with 4505 additions and 2193 deletions

View File

@ -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 (

View File

@ -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 [

View File

@ -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 [

View File

@ -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');