middleware('guest:frontend')->except('logout'); } /** * Get the guard to be used during authentication. * * @return \Illuminate\Contracts\Auth\StatefulGuard */ protected function guard(): StatefulGuard { return Auth::guard('frontend'); } /** * Show the application's login form. * * @return \Illuminate\View\View */ public function showLoginForm(): View { return view('theme::auth.login'); } /** * Check if the authenticated user can access the game * * @param \Illuminate\Http\Request $request * @param \App\Models\Customer $user * @return void * @phpcs:disable Squiz.Commenting.FunctionComment.TypeHintMissing, Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed */ protected function authenticated(Request $request, Customer $user): void { /** @var \LDC\LDCCRM\Models\Customer $crmCustomer */ $crmCustomer = $user->api_data; /** @var \App\Models\Settings */ $settings = app(Settings::class); $countries = $settings->authorized_countries; if (count($countries) && !in_array($crmCustomer->country->value, $countries)) { $this->logout($request); Session::flash('info', trans('Ce jeu n\'est pas disponible dans votre pays')); } else { $user->last_connection = \now(); $user->saveOrFail(); Session::flash('info', trans('Vous êtes à présent connecté')); } } /** * The user has logged out of the application. * * @param \Illuminate\Http\Request $request * @return void * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ protected function loggedOut(Request $request): void { Session::flash('info', trans('Vous êtes à présent déconnecté')); } /** * Get the post register / login redirect path. * * @return string */ public function redirectPath(): string { return response()->redirectToIntended()->getTargetUrl(); } }