mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 22:46:16 +00:00
Add phpstan level 7(#544)
This commit is contained in:
@ -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]);
|
||||
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -3,18 +3,20 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Server;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Spatie\RouteAttributes\Attributes\Get;
|
||||
use Spatie\RouteAttributes\Attributes\Middleware;
|
||||
use Spatie\RouteAttributes\Attributes\Post;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
|
||||
#[Middleware('auth')]
|
||||
class ConsoleController extends Controller
|
||||
{
|
||||
#[Post('servers/{server}/console/run', name: 'servers.console.run')]
|
||||
public function run(Server $server, Request $request)
|
||||
public function run(Server $server, Request $request): StreamedResponse
|
||||
{
|
||||
$this->authorize('update', $server);
|
||||
|
||||
@ -36,10 +38,10 @@ public function run(Server $server, Request $request)
|
||||
}
|
||||
|
||||
return response()->stream(
|
||||
function () use ($server, $request, $ssh, $log, $currentDir) {
|
||||
function () use ($server, $request, $ssh, $log, $currentDir): void {
|
||||
$command = 'cd '.$currentDir.' && '.$request->command.' && echo -n "VITO_WORKING_DIR: " && pwd';
|
||||
$output = '';
|
||||
$ssh->exec(command: $command, log: $log, stream: true, streamCallback: function ($out) use (&$output) {
|
||||
$ssh->exec(command: $command, log: $log, stream: true, streamCallback: function (string $out) use (&$output): void {
|
||||
echo preg_replace('/^VITO_WORKING_DIR:.*(\r?\n)?/m', '', $out);
|
||||
$output .= $out;
|
||||
ob_flush();
|
||||
@ -60,7 +62,7 @@ function () use ($server, $request, $ssh, $log, $currentDir) {
|
||||
}
|
||||
|
||||
#[Get('servers/{server}/console/working-dir', name: 'servers.console.working-dir')]
|
||||
public function workingDir(Server $server)
|
||||
public function workingDir(Server $server): JsonResponse
|
||||
{
|
||||
return response()->json([
|
||||
'dir' => Cache::get('console.'.$server->id.'.dir', '~'),
|
||||
|
@ -9,6 +9,9 @@
|
||||
|
||||
class CanSeeProjectMiddleware
|
||||
{
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var User $user */
|
||||
|
@ -8,6 +8,9 @@
|
||||
|
||||
class HasProjectMiddleware
|
||||
{
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var ?User $user */
|
||||
@ -18,10 +21,12 @@ public function handle(Request $request, Closure $next)
|
||||
|
||||
if (! $user->currentProject) {
|
||||
if ($user->allProjects()->count() > 0) {
|
||||
$user->current_project_id = $user->allProjects()->first()->id;
|
||||
/** @var \App\Models\Project $firstProject */
|
||||
$firstProject = $user->allProjects()->first();
|
||||
$user->current_project_id = $firstProject->id;
|
||||
$user->save();
|
||||
|
||||
$request->user()->refresh();
|
||||
$user->refresh();
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class RedirectIfAuthenticated
|
||||
*/
|
||||
public function handle(Request $request, Closure $next, string ...$guards): Response
|
||||
{
|
||||
$guards = empty($guards) ? [null] : $guards;
|
||||
$guards = $guards === [] ? [null] : $guards;
|
||||
|
||||
foreach ($guards as $guard) {
|
||||
if (Auth::guard($guard)->check()) {
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin CronJob */
|
||||
class CronJobResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin Database */
|
||||
class DatabaseResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin DatabaseUser */
|
||||
class DatabaseUserResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin FirewallRule */
|
||||
class FirewallRuleResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin Project */
|
||||
class ProjectResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin ServerProvider */
|
||||
class ServerProviderResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin Server */
|
||||
class ServerResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin Service */
|
||||
class ServiceResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin Site */
|
||||
class SiteResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin SourceControl */
|
||||
class SourceControlResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin SshKey */
|
||||
class SshKeyResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin StorageProvider */
|
||||
class StorageProviderResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
@ -9,6 +9,9 @@
|
||||
/** @mixin User */
|
||||
class UserResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
|
Reference in New Issue
Block a user