user(); if ($user !== null && ! $user->isOperator() && ! $request->session()->has('impersonator_id')) { $customer = Customer::query()->where('user_id', $user->id)->first() ?? Customer::query()->where('email', $user->email)->first(); if ($customer !== null && ($customer->status === 'suspended' || $customer->status === 'closed' || $customer->closed_at !== null)) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); $key = $customer->closed_at !== null || $customer->status === 'closed' ? 'auth.account_closed' : 'auth.account_suspended'; return redirect()->route('login')->withErrors(['email' => __($key)]); } } return $next($request); } }