json([
'status' => 'ok',
'service' => config('app.name', 'api'),
'docs' => url('/docs'),
]);
})->name('api.home');
Route::get('docs', function () {
$specUrl = url('/api/documentation/swagger.json');
$html = <<
Alrahma API Docs
HTML;
return response($html, 200)->header('Content-Type', 'text/html; charset=UTF-8');
})->name('docs.ui');
Route::middleware('web')->group(function () {
Route::get('login', [AuthSessionController::class, 'loginMask'])->name('login');
Route::post('user/login', [AuthSessionController::class, 'login'])->name('auth.session.login');
Route::get('logout', [AuthSessionController::class, 'logout'])->name('auth.session.logout');
Route::get('select-role', [AuthSessionController::class, 'selectRole'])->name('auth.session.select-role');
Route::post('set-role', [AuthSessionController::class, 'setRole'])->name('auth.session.set-role');
Route::get('session/check-timeout', [SessionTimeoutController::class, 'checkTimeout'])
->name('auth.session.check-timeout');
Route::get('session/check', [SessionTimeoutController::class, 'checkTimeout'])
->name('auth.session.check');
Route::post('session/ping', [SessionTimeoutController::class, 'pingActivity'])
->name('auth.session.ping');
Route::get('session/timeout-config', [SessionTimeoutController::class, 'getTimeoutConfig'])
->name('auth.session.timeout-config');
Route::middleware('auth')->get('dashboard', [DashboardRedirectController::class, 'dashboard'])
->name('dashboard.redirect');
Route::middleware('auth')->get('teacher/calendar', [TeacherCalendarPageController::class, 'show'])
->name('teacher.calendar');
Route::middleware('auth')->get('app/teacher/calendar', [TeacherCalendarPageController::class, 'show'])
->name('app.teacher.calendar');
});