authorize('viewAnyServer', [SshKey::class, $server]); return Inertia::render('server-ssh-keys/index', [ 'sshKeys' => SshKeyResource::collection($server->sshKeys()->with('user')->simplePaginate(config('web.pagination_size'))), ]); } /** * @throws SSHError */ #[Post('/', name: 'server-ssh-keys.store')] public function store(Request $request, Server $server): RedirectResponse { $this->authorize('createServer', [SshKey::class, $server]); /** @var SshKey $sshKey */ $sshKey = user()->sshKeys()->findOrFail($request->input('key')); app(DeployKeyToServer::class)->deploy($server, $sshKey); return back()->with('success', 'SSH key deployed.'); } /** * @throws SSHError */ #[Delete('/{sshKey}', name: 'server-ssh-keys.destroy')] public function destroy(Server $server, SshKey $sshKey): RedirectResponse { $this->authorize('deleteServer', [SshKey::class, $server]); app(DeleteKeyFromServer::class)->delete($server, $sshKey); return back()->with('success', 'SSH key deleted.'); } }