RouteGetType($request,$permission); if (Auth::user()->hasPermissionTo($permission)) { return $next($request); } throw UnauthorizedException::forPermissions([$permission]); } public function RouteGetType(Request $request,string $permission){ switch ($permission) { case 'config.index': $group = $request->get("group", []); foreach ($group as $item){ $permission=$this->findPermission($item); } return $permission; break; case 'config.setting': $group = $request->json()->all(); if(!empty($group) && is_array($group) && isset($group[0]['group'])){ $permission=$this->findPermission($group[0]['group']); } return $permission; break; default: return $permission; } } public function findPermission(string $type){ $objectType=PermissionType::tryFrom($type); $permissionType=$objectType->getPermissionType(); return $permissionType; } }