<?php

namespace App\Http\Controllers;

use App\Jobs\SendResetPasswordLink;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AuthController extends Controller
{
    public function login(){
        if(!empty(Auth::check())){
            return redirect()->route('admin.dashboard');
        }
        return view('auth.login');
    }

    public function logout(){
        Auth::logout();
        return redirect()->route('auth.login');

    }

    public function signIn(Request $request){
        //        dd($request->all());
        $request->validate([
            'email'=>'required|email',
            'password'=>'required'
        ]);

        if(Auth::attempt(['email'=>$request->email,'password'=>$request->password])){
            return redirect()->route('admin.dashboard');
        }else{
            return redirect()->route('auth.login')->with('error','Email or Password is Incorrect');
        }
    }

    public function forgotPassword(){
        Auth::logout();
       return view('auth.forgot-password');
    }

    public function resetPassword(Request $request){
        $request->validate([
            'email'=>'required|email|exists:users,email',
        ]);
        dispatch(new SendResetPasswordLink($request->email));
    }

    public function changePasswordView($token)
    {
        $user=User::where('remember_token',$token)->firstOrFail();
        if(!empty($user)){
            return view('auth.change-password',compact('user'));
        }else{
            Auth::logout();
            return redirect()->route('auth.forgot-password')->with('error','Link Expired');
        }
    }
    public function changePassword(Request $request){
        $request->validate([]);
    }


}
