You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							2.2 KiB
						
					
					
				<?php | 
						|
use App\Docker\Docker; | 
						|
use App\Docker\Container; | 
						|
use App\Http\Controllers\ProfileController; | 
						|
use App\Http\Controllers\ServerController; | 
						|
use App\Http\Middleware\ResourceRules; | 
						|
use App\Models\Server; | 
						|
use App\Models\Service; | 
						|
use Illuminate\Foundation\Application; | 
						|
use Illuminate\Http\Request; | 
						|
use Illuminate\Support\Facades\Route; | 
						|
use Illuminate\Support\Facades\Log; | 
						|
use Inertia\Inertia; | 
						|
use Psr\Http\Message\ResponseInterface; | 
						|
use React\Http\Browser; | 
						|
use React\Socket\FixedUriConnector; | 
						|
use React\Socket\UnixConnector; | 
						|
 | 
						|
 | 
						|
 | 
						|
Route::get('/', function () { | 
						|
    return Inertia::render('Home', [ | 
						|
        "banner" => "/img/banner.avif", | 
						|
        "services" => Service::all(), | 
						|
        "servers" => Server::where("public", true)->get()->jsonSerialize() | 
						|
    ]); | 
						|
})->name("home"); | 
						|
 | 
						|
Route::get("/info", function() { | 
						|
    $config = Docker::info(); | 
						|
    return Inertia::render('Info', [ "config" => $config ]); | 
						|
})->name("docker.info"); | 
						|
 | 
						|
Route::middleware(['auth'])->group(function () { | 
						|
    Route::get("/servers/create", [ServerController::class, 'create'])->name("servers.create"); | 
						|
    Route::post("/servers", [ServerController::class, 'store'])->name("servers.store"); | 
						|
    Route::get("/servers", [ServerController::class, 'index'])->name("servers.index"); | 
						|
 | 
						|
    Route::middleware(ResourceRules::class)->group(function() { | 
						|
        Route::get("/servers/{id}", [ServerController::class, 'show'])->name("servers.show"); | 
						|
        Route::post("/servers/{id}/update", [ServerController::class, 'update'])->name("servers.update"); | 
						|
        Route::post("/servers/{id}/public", [ServerController::class, 'makePublic'])->name("servers.public"); | 
						|
        Route::delete("/servers/{id}", [ServerController::class, 'destroy'])->name("servers.destroy"); | 
						|
        Route::post("/servers/{id}/start", [ServerController::class, 'start'])->name("servers.start"); | 
						|
        Route::post("/servers/{id}/stop", [ServerController::class, 'stop'])->name("servers.stop"); | 
						|
    }); | 
						|
 | 
						|
     | 
						|
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); | 
						|
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); | 
						|
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); | 
						|
}); | 
						|
 | 
						|
require __DIR__.'/auth.php';
 | 
						|
 |