79 lines
3.1 KiB
PHP
79 lines
3.1 KiB
PHP
<?php
|
||
|
||
use App\Http\Controllers\ProfileController;
|
||
use App\Http\Controllers\HelpController;
|
||
use App\Http\Controllers\NetworkController;
|
||
use App\Http\Controllers\NetworkSegmentController;
|
||
use App\Http\Controllers\Admin\UserController as AdminUserController;
|
||
use App\Http\Controllers\Admin\LayoutController as AdminLayoutController;
|
||
use Illuminate\Support\Facades\Route;
|
||
|
||
Route::get('/', function () {
|
||
return view('welcome');
|
||
});
|
||
|
||
Route::get('/dashboard', function () {
|
||
return view('dashboard');
|
||
})->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');
|
||
|
||
// Globale Suche
|
||
Route::get('/search', [NetworkController::class, 'search'])->name('search');
|
||
|
||
// Segmente (CRUD)
|
||
Route::resource('segments', NetworkSegmentController::class)
|
||
->names('segments');
|
||
|
||
// 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';
|