group(function () { Route::get('/', function () { $projects = session('currentTeam')->load(['projects'])->projects; $servers = session('currentTeam')->load(['servers'])->servers; return view('home', [ 'servers' => $servers->sortBy('name'), 'projects' => $projects->sortBy('name') ]); })->name('home'); Route::get('/profile', function () { return view('profile'); })->name('profile'); Route::get('/settings', function () { $isRoot = auth()->user()->isRoot(); if ($isRoot) { $settings = InstanceSettings::find(0); return view('settings', [ 'settings' => $settings ]); } else { return redirect()->route('home'); } })->name('settings'); Route::get('/update', function () { return view('update'); })->name('update'); Route::get('/demo', function () { return view('demo'); })->name('demo'); }); Route::middleware(['auth'])->group(function () { Route::get('/server/{server_uuid}', function () { $server = session('currentTeam')->load(['servers'])->servers->firstWhere('uuid', request()->server_uuid); if (!$server) { abort(404); } return view('server.dashboard', [ 'server_id' => $server->id, ]); })->name('server.dashboard'); }); Route::middleware(['auth'])->group(function () { Route::get( '/project/{project_uuid}', [ProjectController::class, 'environments'] )->name('project.environments'); Route::get( '/project/{project_uuid}/{environment_name}', [ProjectController::class, 'resources'] )->name('project.resources'); Route::get( '/project/{project_uuid}/{environment_name}/application/{application_uuid}', [ApplicationController::class, 'configuration'] )->name('project.applications.configuration'); Route::get( '/project/{project_uuid}/{environment_name}/application/{application_uuid}/deployment', [ApplicationController::class, 'deployments'] )->name('project.applications.deployments'); Route::get( '/project/{project_uuid}/{environment_name}/application/{application_uuid}/deployment/{deployment_uuid}', [ApplicationController::class, 'deployment'] )->name('project.applications.deployment'); });