Class: Auth0::Users::EffectivePermissions::Sources::Roles::Client
- Inherits:
-
Object
- Object
- Auth0::Users::EffectivePermissions::Sources::Roles::Client
- Defined in:
- lib/auth0/users/effective_permissions/sources/roles/client.rb
Instance Method Summary collapse
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListUserEffectivePermissionRoleSourcesResponseContent
Lists the roles which grant the user a given permission, including roles assigned directly to the user and those inherited through group memberships.
Constructor Details
#initialize(client:) ⇒ void
12 13 14 |
# File 'lib/auth0/users/effective_permissions/sources/roles/client.rb', line 12 def initialize(client:) @client = client end |
Instance Method Details
#list(request_options: {}, **params) ⇒ Auth0::Types::ListUserEffectivePermissionRoleSourcesResponseContent
Lists the roles which grant the user a given permission, including roles assigned directly to the user and those inherited through group memberships.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/auth0/users/effective_permissions/sources/roles/client.rb', line 33 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_params = {} query_params["from"] = params[:from] if params.key?(:from) query_params["take"] = params.fetch(:take, 50) query_params["resource_server_identifier"] = params[:resource_server_identifier] if params.key?(:resource_server_identifier) query_params["permission_name"] = params[:permission_name] if params.key?(:permission_name) Auth0::Internal::CursorItemIterator.new( cursor_field: :next_, item_field: :roles, initial_cursor: query_params["from"] ) do |next_cursor| query_params["from"] = next_cursor request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "users/#{URI.encode_uri_component(params[:id].to_s)}/effective-permissions/sources/effective-roles", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) parsed_response = Auth0::Types::ListUserEffectivePermissionRoleSourcesResponseContent.load(response.body) [parsed_response, response] else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |