name('login'); Route::get('/admin/login', [LoginController::class, 'showAdminLoginForm'])->name('admin.login'); Route::post('/admin/login', [LoginController::class, 'adminLogin'])->name('admin.login.submit'); Route::post('/logout', [LoginController::class, 'logout'])->name('logout'); Route::get('/logout', [LoginController::class, 'logout']); // For ease of development/testing via GET // Microsoft OAuth endpoints Route::get('/auth/microsoft/redirect', [LoginController::class, 'redirectToMicrosoft'])->name('auth.microsoft.redirect'); Route::get('/auth/microsoft/callback', [LoginController::class, 'handleMicrosoftCallback'])->name('auth.microsoft.callback'); // User Dashboard Portal (requires standard user role) Route::middleware(['auth', 'role:user'])->group(function () { Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); }); // Admin Control Panel (requires admin role) Route::middleware(['auth', 'role:admin'])->group(function () { Route::get('/admin/dashboard', [AdminController::class, 'index'])->name('admin.dashboard'); Route::post('/admin/apps', [AdminController::class, 'storeApp'])->name('admin.apps.store'); Route::delete('/admin/apps/{id}', [AdminController::class, 'destroyApp'])->name('admin.apps.destroy'); Route::post('/admin/restrictions', [AdminController::class, 'storeRestriction'])->name('admin.restrictions.store'); Route::delete('/admin/restrictions/{id}', [AdminController::class, 'destroyRestriction'])->name('admin.restrictions.destroy'); Route::post('/admin/users/{id}/toggle-block', [AdminController::class, 'toggleBlockUser'])->name('admin.users.toggle-block'); });