41 lines
1.8 KiB
PHP
41 lines
1.8 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', fn() => redirect('/dashboard'));
|
|
|
|
// Test route for middleware test — only reachable with school-admin or teacher role
|
|
Route::middleware(['auth', 'role:school-admin,teacher'])->group(function () {
|
|
Route::get('/school/dashboard', fn() => response('ok'))->name('school.dashboard');
|
|
});
|
|
|
|
Route::middleware(['auth', 'license'])->group(function () {
|
|
Route::get('/dashboard', \App\Livewire\Dashboard\Index::class)->name('dashboard');
|
|
Route::get('/subjects', \App\Livewire\Subjects\Index::class)->name('subjects');
|
|
Route::get('/tasks', \App\Livewire\Tasks\Index::class)->name('tasks');
|
|
Route::get('/photo', \App\Livewire\PhotoHelp\Index::class)->name('photo');
|
|
Route::get('/rewards', \App\Livewire\Rewards\Index::class)->name('rewards');
|
|
Route::get('/progress', \App\Livewire\Progress\Index::class)->name('progress');
|
|
Route::get('/notifications', \App\Livewire\Notifications\Index::class)->name('notifications');
|
|
Route::get('/settings', \App\Livewire\Settings\Index::class)->name('settings');
|
|
});
|
|
|
|
Route::post('/logout', function (\App\Livewire\Actions\Logout $logout) {
|
|
$logout();
|
|
return redirect()->route('login');
|
|
})->middleware('auth')->name('logout');
|
|
|
|
Route::get('/lizenz-abgelaufen', fn() => view('lizenz-abgelaufen'))->name('lizenz.abgelaufen');
|
|
|
|
Route::view('profile', 'profile')->middleware(['auth'])->name('profile');
|
|
|
|
require __DIR__.'/auth.php';
|
|
|
|
// Quick-Login: double-defense (isLocal + ALLOW_QUICK_LOGIN env)
|
|
if (app()->isLocal() && env('ALLOW_QUICK_LOGIN', false)) {
|
|
Route::get('/dev/quick-login', \App\Livewire\DevQuickLogin::class)->name('dev.quick-login');
|
|
}
|
|
|
|
// API v1 routes (used by CrossSubdomainSessionTest)
|
|
require __DIR__ . '/api_v1.php';
|