middleware(['auth', 'verified'])->name('dashboard'); Route::middleware('auth')->group(function () { 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'); }); // Admin-Bereich – nur für Admins Route::prefix('admin') ->name('admin.') ->middleware(['auth', 'verified', 'role:admin']) ->group(function () { Route::get('/', fn() => redirect()->route('admin.users.index')); Route::resource('users', AdminUserController::class); Route::get('layout', [AdminLayoutController::class, 'index'])->name('layout.index'); Route::put('layout', [AdminLayoutController::class, 'update'])->name('layout.update'); Route::get('layout/remove-logo', [AdminLayoutController::class, 'removeLogo'])->name('layout.removeLogo'); }); // Netzwerk-Bereich – für alle eingeloggten Benutzer Route::prefix('network') ->name('network.') ->middleware(['auth']) ->group(function () { // Dashboard Route::get('/', [NetworkController::class, 'dashboard'])->name('dashboard'); // Subnetz-Erkennung (JSON) Route::get('/detect-subnets', [NetworkController::class, 'detectSubnets'])->name('detect-subnets'); // Globale Suche Route::get('/search', [NetworkController::class, 'search'])->name('search'); // Segmente (CRUD + Scan auslösen) Route::resource('segments', NetworkSegmentController::class) ->names('segments'); Route::post('segments/{segment}/scan', [NetworkSegmentController::class, 'triggerScan']) ->name('segments.scan'); Route::post('segments/{segment}/ip-notes', [NetworkSegmentController::class, 'saveIpNote']) ->name('segments.ip-notes'); Route::get('segments/{segment}/export/xlsx', [NetworkSegmentController::class, 'exportXlsx']) ->name('segments.export.xlsx'); Route::get('segments/{segment}/export/pdf', [NetworkSegmentController::class, 'exportPdf']) ->name('segments.export.pdf'); // Chronologischer IP-Verlauf Route::get('/history', [NetworkController::class, 'history'])->name('history'); // Geräte Route::get('/devices', [NetworkController::class, 'devices'])->name('devices'); Route::get('/devices/{device}', [NetworkController::class, 'device'])->name('device'); Route::put('/devices/{device}', [NetworkController::class, 'updateDevice'])->name('device.update'); Route::post('/devices/{device}/note', [NetworkController::class, 'addNote'])->name('device.note'); // Ereignisse Route::post('/events/{event}/document', [NetworkController::class, 'documentEvent'])->name('document'); // Import Route::get('/import', [NetworkController::class, 'showImport'])->name('import'); Route::post('/import', [NetworkController::class, 'import'])->name('import'); // Scan-Detail Route::get('/scans/{scan}', [NetworkController::class, 'scan'])->name('scan'); }); // Hilfe-Bereich – für alle eingeloggten Benutzer Route::prefix('help') ->name('help.') ->middleware(['auth']) ->group(function () { Route::get('manual', [HelpController::class, 'manual'])->name('manual'); Route::get('changelog', [HelpController::class, 'changelog'])->name('changelog'); }); require __DIR__.'/auth.php';