middleware('guest')->except('logout'); $this->mailgunService = app(MailgunService::class); } public function login() { return view('auth.login'); } public function storeLogin(Request $request) { $credentials = $request->validate([ 'email' => ['required', 'email'], 'password' => ['required'], ]); if (Auth::attempt($credentials)) { if(!Auth::user()->Company) { return redirect('/company-info'); } else { $company = Company::where('user_id', Auth::id())->first(); $domain = $company->domain; $mailgunDomain = $this->mailgunService->getDomain($domain); // dd($mailgunDomain); if($mailgunDomain){ $state = $mailgunDomain->getDomain()->getState(); if($state == 'unverified'){ return redirect()->route('showDomain',$domain); }elseif($state == 'active'){ if(empty($company->internal_email)){ $mailgun = new MailgunController(); $mailgun->createEmail($domain); } Session::put('selected_company', $company->id); return redirect('/dashboard'); } } } } return redirect()->back()->with('error', 'Invalid Credentials'); } public function logout(Request $request) { Auth::logout(); Session::flush(); return redirect()->route('login'); } }