<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;

class CustomAuthController extends Controller
{
    public function admin(){
        return view("auth.admin") ;

    }
    public function logout() {
        //CustomAuthController::logout();
        //$this->guard()->logout();
        session()->flush();
        
        return Redirect('admin');
    }

    public function indexUser(Request $request)
    {
    //     $request->validate([
    //         'g-recaptcha-response' => 'required|captcha',
    //     ],     
    // );
      
        $credentials = $request->validate([
            'name'=>'required',
            'password'=>'required',
        ]);
        if(Auth::attempt($credentials)) {
            $s = $request->session()->regenerate();
            $request->session()->put('user',$credentials['name']);
            
            $secretKey = env('TURNSTILE_SECRET_KEY');
            $body = $request->all();
            $token = $body['cf-turnstile-response'];
            $ip = $request->header('CF-Connecting-IP');
            $response = Http::asForm()->post('https://challenges.cloudflare.com/turnstile/v0/siteverify', [
                'secret' => $secretKey,
                'response' => $token,
                'remoteip' => $ip,
            ]);

            $outcome = $response->json();
            if ($outcome['success']) {
                return redirect()->intended('dashboard');
            }
            else {
                return back()->withErrors([          
                    'captcha' => 'Please verify you are human!',
                    ])->onlyInput('captcha');
            }   
         
        }
        return back()->withErrors([          
            'password' => 'The provided credentials do not match our records.',
        ])->onlyInput('name','password','g-recaptcha-response');
    }

}
