Class: Auth0::Roles::Client
- Inherits:
-
Object
- Object
- Auth0::Roles::Client
- Defined in:
- lib/auth0/roles/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateRoleResponseContent
Create a user role for Role-Based Access Control.
-
#delete(request_options: {}, **params) ⇒ untyped
Delete a specific user role from your tenant.
-
#get(request_options: {}, **params) ⇒ Auth0::Types::GetRoleResponseContent
Retrieve details about a specific user role specified by ID.
- #groups ⇒ Auth0::Groups::Client
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListRolesOffsetPaginatedResponseContent
Retrieve detailed list of user roles created in your tenant.
- #permissions ⇒ Auth0::Permissions::Client
-
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateRoleResponseContent
Modify the details of a specific user role specified by ID.
- #users ⇒ Auth0::Users::Client
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/auth0/roles/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateRoleResponseContent
Create a user role for Role-Based Access Control.
Note: New roles are not associated with any permissions by default. To assign existing permissions to your role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions.
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/auth0/roles/client.rb', line 100 def create(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "roles", body: Auth0::Roles::Types::CreateRoleRequestContent.new(params).to_h, 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) (response.body.to_s.empty? ? nil : Auth0::Types::CreateRoleResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ untyped
Delete a specific user role from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone.
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/auth0/roles/client.rb', line 177 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", 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 |
#get(request_options: {}, **params) ⇒ Auth0::Types::GetRoleResponseContent
Retrieve details about a specific user role specified by ID.
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/auth0/roles/client.rb', line 139 def get(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", 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) (response.body.to_s.empty? ? nil : Auth0::Types::GetRoleResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#groups ⇒ Auth0::Groups::Client
241 242 243 |
# File 'lib/auth0/roles/client.rb', line 241 def groups @groups ||= Auth0::Roles::Groups::Client.new(client: @client) end |
#list(request_options: {}, **params) ⇒ Auth0::Types::ListRolesOffsetPaginatedResponseContent
Retrieve detailed list of user roles created in your tenant.
Note: The returned list does not include standard roles available for tenant members, such as Admin or Support Access.
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 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/auth0/roles/client.rb', line 43 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_params = {} query_params["per_page"] = params.fetch(:per_page, 50) query_params["page"] = params.fetch(:page, 0) query_params["include_totals"] = params.fetch(:include_totals, true) query_params["name_filter"] = params[:name_filter] if params.key?(:name_filter) query_params["type"] = params[:type] if params.key?(:type) query_params["owner_id"] = params[:owner_id] if params.key?(:owner_id) Auth0::Internal::OffsetItemIterator.new( initial_page: query_params["page"], item_field: :roles, has_next_field: nil, step: false ) do |next_page| query_params["page"] = next_page request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "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::ListRolesOffsetPaginatedResponseContent.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 |
#permissions ⇒ Auth0::Permissions::Client
246 247 248 |
# File 'lib/auth0/roles/client.rb', line 246 def ||= Auth0::Roles::Permissions::Client.new(client: @client) end |
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateRoleResponseContent
Modify the details of a specific user role specified by ID.
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# File 'lib/auth0/roles/client.rb', line 213 def update(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Roles::Types::UpdateRoleRequestContent.new(params).to_h non_body_param_names = %w[id] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "PATCH", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", body: body, 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) (response.body.to_s.empty? ? nil : Auth0::Types::UpdateRoleResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#users ⇒ Auth0::Users::Client
251 252 253 |
# File 'lib/auth0/roles/client.rb', line 251 def users @users ||= Auth0::Roles::Users::Client.new(client: @client) end |