Class: Auth0::Organizations::Groups::Roles::Client
- Inherits:
-
Object
- Object
- Auth0::Organizations::Groups::Roles::Client
- Defined in:
- lib/auth0/organizations/groups/roles/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ untyped
Assign one or more roles to a specified group in the context of an organization.
-
#delete(request_options: {}, **params) ⇒ untyped
Unassign one or more roles from a specified group in the context of an organization.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListOrganizationGroupRolesResponseContent
Lists the roles assigned to the specified group in the context of an organization.
Constructor Details
#initialize(client:) ⇒ void
11 12 13 |
# File 'lib/auth0/organizations/groups/roles/client.rb', line 11 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ untyped
Assign one or more roles to a specified group in the context of an organization.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/auth0/organizations/groups/roles/client.rb', line 93 def create(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Organizations::Groups::Roles::Types::CreateOrganizationGroupRolesRequestContent.new(params).to_h non_body_param_names = %w[organization_id group_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[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_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
Unassign one or more roles from a specified group in the context of an organization.
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/auth0/organizations/groups/roles/client.rb', line 138 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Organizations::Groups::Roles::Types::DeleteOrganizationGroupRolesRequestContent.new(params).to_h non_body_param_names = %w[organization_id group_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[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_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::ListOrganizationGroupRolesResponseContent
Lists the roles assigned to the specified group in the context of an organization.
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/groups/roles/client.rb', line 38 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) 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: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_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) parsed_response = (response.body.to_s.empty? ? nil : Auth0::Types::ListOrganizationGroupRolesResponseContent.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 |