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

@ -73,7 +73,7 @@ public function show(Project $project, Server $server, CronJob $cronJob): CronJo
#[Delete('{cronJob}', name: 'api.projects.servers.cron-jobs.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete cron job.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, CronJob $cronJob)
public function delete(Project $project, Server $server, CronJob $cronJob): \Illuminate\Http\Response
{
$this->authorize('delete', [$cronJob, $server]);

View File

@ -72,7 +72,7 @@ public function show(Project $project, Server $server, Database $database): Data
#[Delete('{database}', name: 'api.projects.servers.databases.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete database.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, Database $database)
public function delete(Project $project, Server $server, Database $database): \Illuminate\Http\Response
{
$this->authorize('delete', [$database, $server]);

View File

@ -90,7 +90,7 @@ public function link(Request $request, Project $project, Server $server, Databas
#[Delete('{databaseUser}', name: 'api.projects.servers.database-users.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete database user.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, DatabaseUser $databaseUser)
public function delete(Project $project, Server $server, DatabaseUser $databaseUser): \Illuminate\Http\Response
{
$this->authorize('delete', [$databaseUser, $server]);

View File

@ -98,7 +98,7 @@ public function show(Project $project, Server $server, FirewallRule $firewallRul
#[Delete('{firewallRule}', name: 'api.projects.servers.firewall-rules.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete firewall rule.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, FirewallRule $firewallRule)
public function delete(Project $project, Server $server, FirewallRule $firewallRule): \Illuminate\Http\Response
{
$this->authorize('delete', [$firewallRule, $server]);

View File

@ -8,7 +8,9 @@
use App\Http\Controllers\Controller;
use App\Models\GitHook;
use App\Models\ServerLog;
use App\Models\SourceControl;
use App\Notifications\SourceControlDisconnected;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Spatie\RouteAttributes\Attributes\Any;
@ -17,7 +19,7 @@
class GitHookController extends Controller
{
#[Any('api/git-hooks', name: 'api.git-hooks')]
public function __invoke(Request $request)
public function __invoke(Request $request): JsonResponse
{
if (! $request->input('secret')) {
abort(404);
@ -29,7 +31,9 @@ public function __invoke(Request $request)
->firstOrFail();
foreach ($gitHook->actions as $action) {
$webhookBranch = $gitHook->site->sourceControl->provider()->getWebhookBranch($request->array());
/** @var SourceControl $sourceControl */
$sourceControl = $gitHook->site->sourceControl;
$webhookBranch = $sourceControl->provider()->getWebhookBranch($request->array());
if ($action == 'deploy' && $gitHook->site->branch === $webhookBranch) {
try {
app(Deploy::class)->run($gitHook->site);

View File

@ -14,7 +14,7 @@ class HealthController extends Controller
#[Get('api/health', name: 'api.health')]
#[Unauthenticated]
#[Endpoint(title: 'health-check')]
public function __invoke()
public function __invoke(): \Illuminate\Http\JsonResponse
{
return response()->json([
'success' => true,

View File

@ -45,7 +45,9 @@ public function create(Request $request): ProjectResource
$this->validate($request, CreateProject::rules());
$project = app(CreateProject::class)->create(auth()->user(), $request->all());
/** @var \App\Models\User $user */
$user = auth()->user();
$project = app(CreateProject::class)->create($user, $request->all());
return new ProjectResource($project);
}
@ -82,7 +84,9 @@ public function delete(Project $project): Response
{
$this->authorize('delete', $project);
app(DeleteProject::class)->delete(auth()->user(), $project);
/** @var \App\Models\User $user */
$user = auth()->user();
app(DeleteProject::class)->delete($user, $project);
return response()->noContent();
}

View File

@ -61,7 +61,9 @@ public function create(Request $request, Project $project): ServerResource
$this->validate($request, CreateServer::rules($project, $request->input()));
$server = app(CreateServer::class)->create(auth()->user(), $project, $request->all());
/** @var \App\Models\User $user */
$user = auth()->user();
$server = app(CreateServer::class)->create($user, $project, $request->all());
return new ServerResource($server);
}
@ -81,7 +83,7 @@ public function show(Project $project, Server $server): ServerResource
#[Post('{server}/reboot', name: 'api.projects.servers.reboot', middleware: 'ability:write')]
#[Endpoint(title: 'reboot', description: 'Reboot a server.')]
#[Response(status: 204)]
public function reboot(Project $project, Server $server)
public function reboot(Project $project, Server $server): \Illuminate\Http\Response
{
$this->authorize('update', [$server, $project]);
@ -95,7 +97,7 @@ public function reboot(Project $project, Server $server)
#[Post('{server}/upgrade', name: 'api.projects.servers.upgrade', middleware: 'ability:write')]
#[Endpoint(title: 'upgrade', description: 'Upgrade server.')]
#[Response(status: 204)]
public function upgrade(Project $project, Server $server)
public function upgrade(Project $project, Server $server): \Illuminate\Http\Response
{
$this->authorize('update', [$server, $project]);
@ -109,7 +111,7 @@ public function upgrade(Project $project, Server $server)
#[Delete('{server}', name: 'api.projects.servers.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete server.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server)
public function delete(Project $project, Server $server): \Illuminate\Http\Response
{
$this->authorize('delete', [$server, $project]);

View File

@ -54,7 +54,9 @@ public function create(Request $request, Project $project): ServerProviderResour
$this->validate($request, CreateServerProvider::rules($request->all()));
$serverProvider = app(CreateServerProvider::class)->create(auth()->user(), $project, $request->all());
/** @var \App\Models\User $user */
$user = auth()->user();
$serverProvider = app(CreateServerProvider::class)->create($user, $project, $request->all());
return new ServerProviderResource($serverProvider);
}
@ -62,7 +64,7 @@ public function create(Request $request, Project $project): ServerProviderResour
#[Get('{serverProvider}', name: 'api.projects.server-providers.show', middleware: 'ability:read')]
#[Endpoint(title: 'show')]
#[ResponseFromApiResource(ServerProviderResource::class, ServerProvider::class)]
public function show(Project $project, ServerProvider $serverProvider)
public function show(Project $project, ServerProvider $serverProvider): \App\Http\Resources\ServerProviderResource
{
$this->authorize('view', $serverProvider);
@ -76,7 +78,7 @@ public function show(Project $project, ServerProvider $serverProvider)
#[BodyParam(name: 'name', description: 'The name of the server provider.', required: true)]
#[BodyParam(name: 'global', description: 'Accessible in all projects', enum: [true, false])]
#[ResponseFromApiResource(ServerProviderResource::class, ServerProvider::class)]
public function update(Request $request, Project $project, ServerProvider $serverProvider)
public function update(Request $request, Project $project, ServerProvider $serverProvider): \App\Http\Resources\ServerProviderResource
{
$this->authorize('update', $serverProvider);
@ -92,7 +94,7 @@ public function update(Request $request, Project $project, ServerProvider $serve
#[Delete('{serverProvider}', name: 'api.projects.server-providers.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete')]
#[Response(status: 204)]
public function delete(Project $project, ServerProvider $serverProvider)
public function delete(Project $project, ServerProvider $serverProvider): \Illuminate\Http\Response
{
$this->authorize('delete', $serverProvider);

View File

@ -52,16 +52,21 @@ public function create(Request $request, Project $project, Server $server): SshK
$this->validateRoute($project, $server);
/** @var \App\Models\User $user */
$user = auth()->user();
$sshKey = null;
if ($request->has('key_id')) {
$this->validate($request, DeployKeyToServer::rules($request->user(), $server));
$this->validate($request, DeployKeyToServer::rules($user, $server));
$sshKey = $request->user()->sshKeys()->findOrFail($request->key_id);
/** @var ?SshKey $sshKey */
$sshKey = $user->sshKeys()->findOrFail($request->key_id);
}
if (! $sshKey) {
$this->validate($request, CreateSshKey::rules());
$sshKey = app(CreateSshKey::class)->create($request->user(), $request->all());
/** @var SshKey $sshKey */
$sshKey = app(CreateSshKey::class)->create($user, $request->all());
}
app(DeployKeyToServer::class)->deploy($server, ['key_id' => $sshKey->id]);
@ -72,7 +77,7 @@ public function create(Request $request, Project $project, Server $server): SshK
#[Delete('{sshKey}', name: 'api.projects.servers.ssh-keys.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete ssh key from server.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, SshKey $sshKey)
public function delete(Project $project, Server $server, SshKey $sshKey): \Illuminate\Http\Response
{
$this->authorize('delete', [$sshKey, $server]);

View File

@ -84,7 +84,7 @@ public function show(Project $project, Server $server, Site $site): SiteResource
#[Delete('{site}', name: 'api.projects.servers.sites.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete', description: 'Delete site.')]
#[Response(status: 204)]
public function delete(Project $project, Server $server, Site $site)
public function delete(Project $project, Server $server, Site $site): \Illuminate\Http\Response
{
$this->authorize('delete', [$site, $server]);

View File

@ -55,7 +55,7 @@ public function create(Request $request, Project $project): SourceControlResourc
$this->validate($request, ConnectSourceControl::rules($request->all()));
$sourceControl = app(ConnectSourceControl::class)->connect(auth()->user(), $project, $request->all());
$sourceControl = app(ConnectSourceControl::class)->connect($project, $request->all());
return new SourceControlResource($sourceControl);
}
@ -63,7 +63,7 @@ public function create(Request $request, Project $project): SourceControlResourc
#[Get('{sourceControl}', name: 'api.projects.source-controls.show', middleware: 'ability:read')]
#[Endpoint(title: 'show')]
#[ResponseFromApiResource(SourceControlResource::class, SourceControl::class)]
public function show(Project $project, SourceControl $sourceControl)
public function show(Project $project, SourceControl $sourceControl): \App\Http\Resources\SourceControlResource
{
$this->authorize('view', $sourceControl);
@ -81,7 +81,7 @@ public function show(Project $project, SourceControl $sourceControl)
#[BodyParam(name: 'password', description: 'The password if the provider is Bitbucket')]
#[BodyParam(name: 'global', description: 'Accessible in all projects', enum: [true, false])]
#[ResponseFromApiResource(SourceControlResource::class, SourceControl::class)]
public function update(Request $request, Project $project, SourceControl $sourceControl)
public function update(Request $request, Project $project, SourceControl $sourceControl): \App\Http\Resources\SourceControlResource
{
$this->authorize('update', $sourceControl);
@ -97,7 +97,7 @@ public function update(Request $request, Project $project, SourceControl $source
#[Delete('{sourceControl}', name: 'api.projects.source-controls.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete')]
#[Response(status: 204)]
public function delete(Project $project, SourceControl $sourceControl)
public function delete(Project $project, SourceControl $sourceControl): \Illuminate\Http\Response
{
$this->authorize('delete', $sourceControl);

View File

@ -54,7 +54,9 @@ public function create(Request $request, Project $project): StorageProviderResou
$this->validate($request, CreateStorageProvider::rules($request->all()));
$storageProvider = app(CreateStorageProvider::class)->create(auth()->user(), $project, $request->all());
/** @var \App\Models\User $user */
$user = auth()->user();
$storageProvider = app(CreateStorageProvider::class)->create($user, $project, $request->all());
return new StorageProviderResource($storageProvider);
}
@ -62,7 +64,7 @@ public function create(Request $request, Project $project): StorageProviderResou
#[Get('{storageProvider}', name: 'api.projects.storage-providers.show', middleware: 'ability:read')]
#[Endpoint(title: 'show')]
#[ResponseFromApiResource(StorageProviderResource::class, StorageProvider::class)]
public function show(Project $project, StorageProvider $storageProvider)
public function show(Project $project, StorageProvider $storageProvider): \App\Http\Resources\StorageProviderResource
{
$this->authorize('view', $storageProvider);
@ -76,7 +78,7 @@ public function show(Project $project, StorageProvider $storageProvider)
#[BodyParam(name: 'name', description: 'The name of the storage provider.', required: true)]
#[BodyParam(name: 'global', description: 'Accessible in all projects', enum: [true, false])]
#[ResponseFromApiResource(StorageProviderResource::class, StorageProvider::class)]
public function update(Request $request, Project $project, StorageProvider $storageProvider)
public function update(Request $request, Project $project, StorageProvider $storageProvider): \App\Http\Resources\StorageProviderResource
{
$this->authorize('update', $storageProvider);
@ -92,7 +94,7 @@ public function update(Request $request, Project $project, StorageProvider $stor
#[Delete('{storageProvider}', name: 'api.projects.storage-providers.delete', middleware: 'ability:write')]
#[Endpoint(title: 'delete')]
#[Response(status: 204)]
public function delete(Project $project, StorageProvider $storageProvider)
public function delete(Project $project, StorageProvider $storageProvider): \Illuminate\Http\Response
{
$this->authorize('delete', $storageProvider);