name('dashboard'); Route::get('/verify-auth-state', [IndexController::class, 'verifyAuthState'])->name('auth-state'); /* |-------------------------------------------------------------------------- | Server Controller Routes |-------------------------------------------------------------------------- | | Endpoint: /servers/{server} | */ Route::group(['prefix' => '/servers/{server}', 'middleware' => [AuthenticateServerAccess::class, CheckServerInstalling::class]], function () { Route::get('/', [ServerController::class, 'show'])->name('servers.show'); Route::get('/templates', [SettingsController::class, 'getTemplates'])->name('servers.show.templates'); Route::get('/installing', [ServerController::class, 'showIsInstallingPage'])->middleware(CheckServerNotInstalling::class)->withoutMiddleware(CheckServerInstalling::class)->name('servers.show.installing'); Route::get('/status', [StatusController::class, 'show'])->name('servers.show.status'); Route::post('/status', [PowerController::class, 'sendCommand']); Route::get('/details', [ServerController::class, 'getDetails'])->name('servers.show.details'); /* |-------------------------------------------------------------------------- | Snapshots API |-------------------------------------------------------------------------- | | Endpoint: /servers/{server}/snapshots | */ Route::prefix('/snapshots')->group(function () { Route::get('/', [SnapshotController::class, 'index'])->name('servers.show.snapshots'); Route::post('/', [SnapshotController::class, 'store']); Route::delete('/', [SnapshotController::class, 'destroy']); Route::post('/rollback', [SnapshotController::class, 'rollback'])->name('servers.show.snapshots.rollback'); }); /* |-------------------------------------------------------------------------- | Backups API |-------------------------------------------------------------------------- | | Endpoint: /servers/{server}/backups | */ Route::prefix('/backups')->group(function () { Route::get('/', [BackupController::class, 'index'])->name('servers.show.backups'); Route::post('/', [BackupController::class, 'store']); Route::delete('/', [BackupController::class, 'destroy']); Route::post('/rollback', [BackupController::class, 'restore'])->name('servers.show.backups.rollback'); }); /* |-------------------------------------------------------------------------- | Logs API |-------------------------------------------------------------------------- | | Endpoint: /servers/{server}/logs | */ Route::prefix('/logs')->group(function () { Route::get('/', [LogsController::class, 'index'])->name('servers.show.logs'); Route::get('/json', [LogsController::class, 'getLogs'])->name('servers.show.logs.json'); }); /* |-------------------------------------------------------------------------- | Security API |-------------------------------------------------------------------------- | | Endpoint: /servers/{server}/security | */ Route::prefix('/security')->group(function () { Route::get('/', [SecurityController::class, 'index'])->name('servers.show.security'); Route::prefix('/vnc')->group(function () { Route::get('/', [SecurityController::class, 'showVnc'])->name('servers.show.security.vnc'); Route::get('/credentials', [SecurityController::class, 'getVncCredentials'])->name('servers.show.security.vnc.credentials'); }); }); /* |-------------------------------------------------------------------------- | Settings Controller Routes |-------------------------------------------------------------------------- | | Endpoint: /servers/{server}/settings | */ Route::prefix('/settings')->group(function () { Route::get('/', [SettingsController::class, 'index'])->name('servers.show.settings'); Route::patch('/basic-info', [SettingsController::class, 'updateBasicInfo'])->name('servers.show.settings.basic-info'); Route::put('/password', [CloudinitController::class, 'updatePassword'])->name('servers.show.settings.password'); Route::put('/bios', [CloudinitController::class, 'updateBios'])->name('servers.show.settings.bios'); Route::put('/network-config', [CloudinitController::class, 'updateNetworkConfig'])->name('servers.show.settings.network-config'); Route::post('/reinstall', [SettingsController::class, 'reinstall'])->name('servers.show.settings.reinstall'); Route::get('/cloudinit/dump', [CloudinitController::class, 'dumpConfig'])->name('servers.show.settings.cloudinit.config'); }); });