Class: Auth0::Roles::Users::Client
- Inherits:
-
Object
- Object
- Auth0::Roles::Users::Client
- Defined in:
- lib/auth0/roles/users/client.rb
Instance Method Summary collapse
-
#assign(request_options: {}, **params) ⇒ untyped
Assign one or more users to an existing user role.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListRoleUsersPaginatedResponseContent
Retrieve list of users associated with a specific role.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/auth0/roles/users/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#assign(request_options: {}, **params) ⇒ untyped
Assign one or more users to an existing user role. To learn more, review <a href=“auth0.com/docs/manage-users/access-control/rbac”>Role-Based Access Control</a>.
Note: New roles cannot be created through this action.
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/auth0/roles/users/client.rb', line 103 def assign(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Roles::Users::Types::AssignRoleUsersRequestContent.new(params).to_h non_body_param_names = ["id"] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/users", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#list(request_options: {}, **params) ⇒ Auth0::Types::ListRoleUsersPaginatedResponseContent
Retrieve list of users associated with a specific role. For Dashboard instructions, review <a href=“auth0.com/docs/manage-users/access-control/configure-core-rbac/roles/view-users-assigned-to-roles”>View Users Assigned to Roles</a>.
This endpoint supports two types of pagination: <ul> <li>Offset pagination</li> <li>Checkpoint pagination</li> </ul>
Checkpoint pagination must be used if you need to retrieve more than 1000 organization members.
<h2>Checkpoint Pagination</h2>
To search by checkpoint, use the following parameters: <ul> <li>from: Optional id from which to start selection.</li> <li>take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.</li> </ul>
Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/auth0/roles/users/client.rb', line 52 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[from take] query_params = {} query_params["from"] = params[:from] if params.key?(:from) query_params["take"] = params.fetch(:take, 50) params = params.except(*query_param_names) Auth0::Internal::CursorItemIterator.new( cursor_field: :next_, item_field: :users, 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: "roles/#{URI.encode_uri_component(params[:id].to_s)}/users", 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) Auth0::Types::ListRoleUsersPaginatedResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |