This commit is contained in:
Saeed Vaziry
2024-03-24 09:56:34 +01:00
committed by GitHub
parent 884f18db63
commit 4d051330d6
1055 changed files with 14493 additions and 20278 deletions

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use App\Exceptions\SSHCommandError;
use App\Exceptions\SSHConnectionError;
use App\Facades\Toast;
use Closure;
use Illuminate\Http\Request;
class HandleSSHErrors
{
public function handle(Request $request, Closure $next)
{
$res = $next($request);
if ($res->exception) {
if ($res->exception instanceof SSHConnectionError || $res->exception instanceof SSHCommandError) {
Toast::error($res->exception->getMessage());
if ($request->hasHeader('HX-Request')) {
return htmx()->back();
}
return back();
}
}
return $res;
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace App\Http\Middleware;
use App\Models\User;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class SelectCurrentProject
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
/** @var Server $server */
$server = $request->route('server');
/** @var User $user */
$user = $request->user();
if ($server->project_id != $user->current_project_id) {
$user->current_project_id = $server->project_id;
$user->save();
}
return $next($request);
}
}

View File

@ -2,6 +2,8 @@
namespace App\Http\Middleware;
use App\Enums\ServerStatus;
use App\Facades\Toast;
use App\Models\Server;
use Closure;
use Illuminate\Http\Request;
@ -13,7 +15,9 @@ public function handle(Request $request, Closure $next)
/** @var Server $server */
$server = $request->route('server');
if (! $server->isReady()) {
if ($server->status !== ServerStatus::READY) {
Toast::error('Server is not ready yet');
return redirect()->route('servers.show', ['server' => $server]);
}