mailwolt/routes/web.php

89 lines
3.5 KiB
PHP

<?php
use App\Http\Controllers\Api\TaskFeedController;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Setup\SetupWizard;
use App\Http\Controllers\UI\Domain\DomainDnsController;
use App\Http\Controllers\UI\Security\RecoveryCodeDownloadController;
use App\Http\Controllers\UI\Security\SecurityController;
use App\Http\Controllers\UI\System\SettingsController;
use App\Livewire\PingButton;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/dashboard', [\App\Http\Controllers\UI\DashboardController::class, 'index'])
->middleware(['auth']) // falls gewünscht
->name('ui.dashboard');
//Route::middleware(['auth']) // falls du auth nutzt
//->get('/system/settings', [SettingsController::class, 'index'])
// ->name('ui.system.settings');
Route::middleware(['auth'])
->prefix('system')
->name('ui.system.')
->group(function () {
Route::get('/settings', [\App\Http\Controllers\UI\System\SettingsController::class, 'index'])
->name('settings');
});
Route::middleware(['auth'])
->prefix('security')
->name('ui.security.')
->group(function () {
Route::get('/', [SecurityController::class, 'index'])->name('index');
Route::get('/ssl', [SecurityController::class, 'ssl'])->name('ssl');
Route::get('/fail2ban', [SecurityController::class, 'fail2ban'])->name('fail2ban');
Route::get('/rspamd', [SecurityController::class, 'rspamd'])->name('rspamd');
Route::get('/tls-ciphers', [SecurityController::class, 'tlsCiphers'])->name('tls');
Route::get('/audit-logs', [SecurityController::class, 'auditLogs'])->name('audit');
});
Route::middleware(['auth'])
->name('ui.domain.')
->group(function () {
Route::get('/domains', [DomainDnsController::class, 'index'])->name('index');
// Route::get('/api/domains/{domain}/dns', [DomainDnsController::class, 'show'])
// ->name('dns'); // JSON für das Modal
});
//Route::middleware(['auth'])
// ->get('/security/recovery-codes/download', [RecoveryCodeDownloadController::class, 'download'])
// ->name('security.recovery.download')
// ->middleware('signed'); // wichtig: signierte URL
Route::middleware(['web','auth']) // nutzt Session, kein Token nötig
->get('/ui/tasks/active', [TaskFeedController::class, 'active'])
->name('ui.tasks.active');
//Route::middleware(['auth'])->group(function () {
// Route::get('/tasks/active', [TaskFeedController::class, 'active'])
// ->name('tasks.active');
// Route::post('/tasks/ack', [TaskFeedController::class, 'ack'])
// ->name('tasks.ack');
//});
//Route::middleware(['web','auth']) // gleiche Session wie im Dashboard
//->get('/ui/tasks/active', [\App\Http\Controllers\Api\TaskStatusController::class, 'index'])
// ->name('ui.tasks.active');
//Route::get('/dashboard', [DashboardController::class, 'show'])->name('dashboard');
Route::get('/login', [LoginController::class, 'show'])->name('login');
Route::get('/signup', [\App\Http\Controllers\Auth\SignUpController::class, 'show' ])->middleware('signup.open')->name('signup');
Route::post('/logout', [\App\Http\Controllers\Auth\LoginController::class, 'logout'])->name('logout');
Route::middleware(['auth', 'ensure.setup'])->group(function () {
// Route::get('/dashboard', Dashboard::class)->name('dashboard');
Route::get('/setup', [SetupWizard::class, 'show'])->name('setup.wizard');
});
//Route::middleware(['auth', 'ensure.setup'])->group(function () {
// Route::get('/dashboard', fn() => view('dashboard'))->name('dashboard');
//});