<?php

namespace App\Http\Middleware\md;

use App\Models\Acesso;
use Closure;
use Illuminate\Http\Request;
use App\Models\Dispositivo;
use Illuminate\Support\Facades\Auth;
use Jenssegers\Agent\Agent;

class DevicesMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
       /*
        $user=Auth::user();

        // Controle de acesso
        $devices=Dispositivo::join('acessos','acessos.dispositivo_id','=','dispositivos.id')->where('dispositivos.user_id',$user->id)->where('acessos.sessao','aberta')->count();

        $id= Auth::user()->id;
        $agent = new Agent();
        $browser = $agent->browser();
        $versaoBrowser = $agent->version($browser);
        $plataform = $agent->platform();
        $versaoPlataform = $agent->version($plataform);
        $device = $agent->device();
        $robot = $agent->robot();
        $usuario=Auth::user();
        $ip=request()->ip();
        // Pegar mac address do computador
        $mac = exec('getmac');
        $ip = '154.127.212.219';
        $data = \Location::get($ip);
        $Devices = Dispositivo::where('user_id',Auth::id())->get();
        $agent = new Agent();
        $browser = $agent->browser();
        $plataform = $agent->platform();
        $device = $agent->device();
        $verificacao=false;


        // ALGORITIMO DE VERIFICAÇÃO DE DO DISPOSITIVO ACTUAL
        foreach($Devices as $Devi){


            if($Devi->browser==$browser){

                if($Devi->versaoBrowser==$versaoBrowser){
                    if ($Devi->user_id==Auth::id()){

                        $verificacao=true;
                        $ActualDeviceFoundId=$Devi->id;
                        break;
                    }
                }

            }
        }


        if($verificacao){
            $ActualDeviceFoundId;

            $acessos=Acesso::where('dispositivo_id',$ActualDeviceFoundId)->where('sessao','=','aberta')->count();

            if($acessos<1){
                return redirect()->route('sair');

            }
        }



        //Perceber se existem mais de 2 contas abertas
        if($devices>2 ){

            return redirect()->route('us.escessodevices');

        // Identificar se não há acessos actuais
        }elseif( $devices<1){

            return redirect()->route('sair');
        }

        // Verificar dispositivo actual se tem sessão aberta
        // elseif(){}
        else{
            return $next($request);
        }

        // if ($request->input('token') !== 'my-secret-token') {
        //     return redirect('home');
        // }
    
    */
    }
}
