Class: Auth0::Organizations::Members::Roles::Client
- Inherits:
-
Object
- Object
- Auth0::Organizations::Members::Roles::Client
- Defined in:
- lib/auth0/organizations/members/roles/client.rb
Instance Method Summary collapse
-
#assign(request_options: {}, **params) ⇒ untyped
Assign one or more <a href=“auth0.com/docs/manage-users/access-control/rbac”>roles</a> to a user to determine their access for a specific Organization.
-
#delete(request_options: {}, **params) ⇒ untyped
Remove one or more Organization-specific <a href=“auth0.com/docs/manage-users/access-control/rbac”>roles</a> from a given user.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListOrganizationMemberRolesOffsetPaginatedResponseContent
Retrieve detailed list of roles assigned to a given user within the context of a specific Organization.
Constructor Details
#initialize(client:) ⇒ void
11 12 13 |
# File 'lib/auth0/organizations/members/roles/client.rb', line 11 def initialize(client:) @client = client end |
Instance Method Details
#assign(request_options: {}, **params) ⇒ untyped
Assign one or more <a href=“auth0.com/docs/manage-users/access-control/rbac”>roles</a> to a user to determine their access for a specific Organization.
Users can be members of multiple Organizations with unique roles assigned for each membership. This action assigns roles to a user only for the specified Organization. Roles cannot be assigned to a user across multiple Organizations in the same call.
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/auth0/organizations/members/roles/client.rb', line 91 def assign(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Organizations::Members::Roles::Types::AssignOrganizationMemberRolesRequestContent.new(params).to_h non_body_param_names = %w[id user_id] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/roles", 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 |
#delete(request_options: {}, **params) ⇒ untyped
Remove one or more Organization-specific <a href=“auth0.com/docs/manage-users/access-control/rbac”>roles</a> from a given user.
Users can be members of multiple Organizations with unique roles assigned for each membership. This action removes roles from a user in relation to the specified Organization. Roles assigned to the user within a different Organization cannot be managed in the same call.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/auth0/organizations/members/roles/client.rb', line 134 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Organizations::Members::Roles::Types::DeleteOrganizationMemberRolesRequestContent.new(params).to_h non_body_param_names = %w[id user_id] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/roles", 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::ListOrganizationMemberRolesOffsetPaginatedResponseContent
Retrieve detailed list of roles assigned to a given user within the context of a specific Organization.
Users can be members of multiple Organizations with unique roles assigned for each membership. This action only returns the roles associated with the specified Organization; any roles assigned to the user within other Organizations are not included.
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 69 70 71 |
# File 'lib/auth0/organizations/members/roles/client.rb', line 35 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[page per_page include_totals] query_params = {} query_params["page"] = params.fetch(:page, 0) query_params["per_page"] = params.fetch(:per_page, 50) query_params["include_totals"] = params.fetch(:include_totals, true) params = params.except(*query_param_names) Auth0::Internal::OffsetItemIterator.new( initial_page: query_params["page"], item_field: :roles, has_next_field: nil, step: true ) do |next_page| query_params["page"] = next_page request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/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) Auth0::Types::ListOrganizationMemberRolesOffsetPaginatedResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |