check()) { return redirect()->route('login'); } $user = auth()->user(); // Super admin has all permissions if ($user->type === 'superadmin' || $user->type === 'super admin') { return $next($request); } // Check if user has the required permission if (!$user->hasPermissionTo($permission)) { if ($request->expectsJson()) { return response()->json(['message' => 'Forbidden'], 403); } // Redirect to first available page return redirect()->route('dashboard.redirect'); } return $next($request); } }