<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use App\Models\Users;

class AuthUser
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // $a = $request->auth = Auth::user();
        // dd($a->role, Users::ROLE_ADMIN);
        $request->auth = Auth::user();
        $request->auth->uid = $request->auth->id;

        // dd($request->auth);

        // if ($request->auth->role == Users::ROLE_ADMIN) {
        //     // views
        //     if ($request->is("home/*")) {
        //     } elseif ($request->is("home")) {
        //     } elseif ($request->is("dashboard/*")) {
        //     } elseif ($request->is("dashboard")) {
        //     } elseif ($request->is("drivers/*")) {
        //     } elseif ($request->is("drivers")) {
        //     } elseif ($request->is("transactions/*")) {
        //     } elseif ($request->is("transactions")) {
        //     } elseif ($request->is("vehicles/*")) {
        //     } elseif ($request->is("vehicles")) {
        //     } elseif ($request->is("clients/*")) {
        //     } elseif ($request->is("clients")) {
        //     } elseif ($request->is("zone/*")) {
        //     } elseif ($request->is("zone")) {
        //     } elseif ($request->is("users/*")) {
        //     } elseif ($request->is("users")) {
        //     } elseif ($request->is("profile/*")) {
        //     } elseif ($request->is("profile")) {
        //     } elseif ($request->is("config/*")) {
        //     } elseif ($request->is("config")) {
        //     } elseif ($request->is("pocket/*")) {
        //     } elseif ($request->is("pocket")) {
        //     } elseif ($request->is("lgb_types/*")) {
        //     } elseif ($request->is("lgb_types")) {
        //     } elseif ($request->is("lgb_masters/*")) {
        //     } elseif ($request->is("lgb_masters")) {
        //     } elseif ($request->is("insurances/*")) {
        //     } elseif ($request->is("static_insurances/*")) {
        //     }
        //     // api
        //     elseif ($request->is("api/conf/*")) {
        //     } elseif ($request->is("api/conf")) {
        //     } elseif ($request->is("api/osm/*")) {
        //     } elseif ($request->is("api/osm")) {
        //     } elseif ($request->is("api/region/*")) {
        //     } elseif ($request->is("api/region")) {
        //     } elseif ($request->is("api/zones/*")) {
        //     } elseif ($request->is("api/zones")) {
        //     } elseif ($request->is("api/vehicles/*")) {
        //     } elseif ($request->is("api/vehicles")) {
        //     } elseif ($request->is("api/drivers/*")) {
        //     } elseif ($request->is("api/drivers")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/clients/*")) {
        //     } elseif ($request->is("api/clients")) {
        //     } elseif ($request->is("api/tracks/*")) {
        //     } elseif ($request->is("api/tracks")) {
        //     } elseif ($request->is("api/transactions/*")) {
        //     } elseif ($request->is("api/transactions")) {
        //     } elseif ($request->is("api/transactions_spc/*")) {
        //     } elseif ($request->is("api/transactions_spc")) {
        //     } elseif ($request->is("api/insurances/*")) {
        //     } elseif ($request->is("api/insurances")) {
        //     } elseif ($request->is("api/devices/*")) {
        //     } elseif ($request->is("api/devices")) {
        //     } elseif ($request->is("api/user/clients/*")) {
        //     } elseif ($request->is("api/user/clients")) {
        //     } elseif ($request->is("api/a_items/*")) {
        //     } elseif ($request->is("api/a_items")) {
        //     } elseif ($request->is("api/admin/*")) {
        //     } elseif ($request->is("api/admin")) {
        //     } elseif ($request->is("api/static_insurances/*")) {
        //     } elseif ($request->is("api/static_insurances")) {
        //     } elseif ($request->is("api/menu_permissions/*")) {
        //     } elseif ($request->is("api/menu_permissions")) {
        //     } elseif ($request->is("api/pocket/*")) {
        //     } elseif ($request->is("api/pocket")) {
        //     } elseif ($request->is("api/lgb_types/*")) {
        //     } elseif ($request->is("api/lgb_types")) {
        //     } elseif ($request->is("api/lgb_keys/*")) {
        //     } elseif ($request->is("api/lgb_keys")) {
        //     } elseif ($request->is("api/dtypes/*")) {
        //     } elseif ($request->is("api/dtypes")) {
        //     } elseif ($request->is("api/dana/*")) {
        //     } elseif ($request->is("api/dana")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } elseif ($request->auth->role == Users::ROLE_VENDOR) {
        //     // views
        //     if ($request->is("home/*")) {
        //     } elseif ($request->is("home")) {
        //     } elseif ($request->is("dashboard/*")) {
        //     } elseif ($request->is("dashboard")) {
        //     } elseif ($request->is("checklist/*")) {
        //     } elseif ($request->is("checklist")) {
        //     } elseif ($request->is("zone/*")) {
        //     } elseif ($request->is("zone")) {
        //     } elseif ($request->is("drivers/*")) {
        //     } elseif ($request->is("drivers")) {
        //     } elseif ($request->is("vehicles/*")) {
        //     } elseif ($request->is("vehicles")) {
        //     } elseif ($request->is("profile/*")) {
        //     } elseif ($request->is("transactions/*")) {
        //     } elseif ($request->is("transactions")) {
        //     } elseif ($request->is("profile")) {
        //     } elseif ($request->is("user/vendor/*")) {
        //     } elseif ($request->is("user/vendor")) {
        //     }
        //     // api
        //     elseif ($request->is("api/conf")) {
        //     } elseif ($request->is("api/osm/*")) {
        //     } elseif ($request->is("api/osm")) {
        //     } elseif ($request->is("api/region/*")) {
        //     } elseif ($request->is("api/region")) {
        //     } elseif ($request->is("api/tracks/*")) {
        //     } elseif ($request->is("api/tracks")) {
        //     } elseif ($request->is("api/vehicles/*")) {
        //     } elseif ($request->is("api/vehicles")) {
        //     } elseif ($request->is("api/drivers/*")) {
        //     } elseif ($request->is("api/drivers")) {
        //     } elseif ($request->is("api/user/vendor/*")) {
        //     } elseif ($request->is("api/user/vendor")) {
        //     } elseif ($request->is("api/transactions_spc/*")) {
        //     } elseif ($request->is("api/transactions_spc")) {
        //     } elseif ($request->is("api/zones/*")) {
        //     } elseif ($request->is("api/zones")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } elseif ($request->auth->role == Users::ROLE_CLIENT_ADMIN) {
        //     // views
        //     if ($request->is("home/*")) {
        //     } elseif ($request->is("home")) {
        //     } elseif ($request->is("dashboard/*")) {
        //     } elseif ($request->is("dashboard")) {
        //     } elseif ($request->is("zone/*")) {
        //     } elseif ($request->is("zone")) {
        //     } elseif ($request->is("profile/*")) {
        //     } elseif ($request->is("profile")) {
        //     } elseif ($request->is("user/clients/*")) {
        //     } elseif ($request->is("user/clients")) {
        //     }
        //     // api
        //     elseif ($request->is("api/conf")) {
        //     } elseif ($request->is("api/osm/*")) {
        //     } elseif ($request->is("api/osm")) {
        //     } elseif ($request->is("api/region/*")) {
        //     } elseif ($request->is("api/region")) {
        //     } elseif ($request->is("api/zones/*")) {
        //     } elseif ($request->is("api/zones")) {
        //     } elseif ($request->is("api/tracks/*")) {
        //     } elseif ($request->is("api/tracks")) {
        //     } elseif ($request->is("api/user/clients/*")) {
        //     } elseif ($request->is("api/user/clients")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } elseif ($request->auth->role == Users::ROLE_CHECKER) {
        //     // views
        //     if ($request->is("user/checker/*")) {
        //     } elseif ($request->is("user/checker")) {
        //     } elseif ($request->is("profile/*")) {
        //     } elseif ($request->is("profile")) {
        //     }
        //     // api
        //     elseif ($request->is("api/user/checker/*")) {
        //     } elseif ($request->is("api/user/checker")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } elseif ($request->auth->role == Users::ROLE_FINANCE) {
        //     // views
        //     if ($request->is("finance/*")) {
        //     } elseif ($request->is("profile/*")) {
        //     } elseif ($request->is("profile")) {
        //     }
        //     // api
        //     elseif ($request->is("api/finance/*")) {
        //     } elseif ($request->is("api/finance")) {
        //     } elseif ($request->is("api/a_items/*")) {
        //     } elseif ($request->is("api/a_items")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/dana/*")) {
        //     } elseif ($request->is("api/dana")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } elseif ($request->auth->role == Users::ROLE_SPECIAL_TRACKING) {
        //     // views
        //     if ($request->is("dashboard/*")) {
        //     } elseif ($request->is("dashboard")) {
        //     }
        //     // api
        //     elseif ($request->is("api/tracks/*")) {
        //     } elseif ($request->is("api/tracks")) {
        //     } elseif ($request->is("api/users/*")) {
        //     } elseif ($request->is("api/users")) {
        //     } elseif ($request->is("api/universal/*")) {
        //     } elseif ($request->is("api/universal")) {
        //     } else {
        //         return abort(403, "Unauthorized action.");
        //     }
        // } else {
        //     return abort(403, "Unauthorized action.");
        // }

        return $next($request);
    }
}