This commit is contained in:
Saeed Vaziry
2025-05-31 12:39:46 +02:00
parent c09c7a63fa
commit 0b7dd1732b
6 changed files with 297 additions and 20 deletions

View File

@ -7,15 +7,27 @@
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Illuminate\Validation\Rule;
use Inertia\Inertia;
use Inertia\Response;
use Spatie\RouteAttributes\Attributes\Get;
use Spatie\RouteAttributes\Attributes\Middleware;
use Spatie\RouteAttributes\Attributes\Post;
use Spatie\RouteAttributes\Attributes\Prefix;
use Symfony\Component\HttpFoundation\StreamedResponse;
#[Middleware('auth')]
#[Prefix('servers/{server}/console')]
#[Middleware(['auth', 'has-project'])]
class ConsoleController extends Controller
{
#[Post('servers/{server}/console/run', name: 'servers.console.run')]
#[Get('/', name: 'console')]
public function index(Server $server): Response
{
$this->authorize('update', $server);
return Inertia::render('console/index');
}
#[Post('/run', name: 'console.run')]
public function run(Server $server, Request $request): StreamedResponse
{
$this->authorize('update', $server);
@ -61,7 +73,7 @@ function () use ($server, $request, $ssh, $log, $currentDir): void {
);
}
#[Get('servers/{server}/console/working-dir', name: 'servers.console.working-dir')]
#[Get('/working-dir', name: 'console.working-dir')]
public function workingDir(Server $server): JsonResponse
{
return response()->json([