namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Session; class PlanMiddleware { public function handle(Request $request, Closure $next, $moduleSlug) { // 1. Check if user is logged in if (!Auth::check()) { return redirect()->route('login'); } // 2. Get allowed modules from session $allowedModules = Session::get('allowed_modules', []); // 3. Check if the requested module is in the allowed list if (!in_array($moduleSlug, $allowedModules)) { return redirect()->route('school.dashboard') ->with('error', 'This module is not included in your current subscription plan. Please upgrade your plan.'); } return $next($request); } }