<?php namespace App\Http\Middleware; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Closure; /** * Enable us to use the role during middleware authorisation */ class Role { public function handle(Request $request, Closure $next, string $role) { if ($role AND ! Auth::user()) abort(403,'Not Authenticated'); switch ($role) { case 'wholesaler': if (Auth::user()->role() == $role) return $next($request); break; case 'reseller': if (in_array(Auth::user()->role(),['wholesaler','reseller'])) return $next($request); break; } abort(404,'User doesnt have role?'); } }