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 <a href=“auth0.com/docs/manage-users/access-control/rbac”>Role-Based Access Control</a>.
-
#delete(request_options: {}, **params) ⇒ untyped
Delete a specific <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> from your tenant.
-
#get(request_options: {}, **params) ⇒ Auth0::Types::GetRoleResponseContent
Retrieve details about a specific <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> specified by ID.
- #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 <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> 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 <a href=“auth0.com/docs/manage-users/access-control/rbac”>Role-Based Access Control</a>.
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.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/auth0/roles/client.rb', line 85 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) 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 <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone.
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/auth0/roles/client.rb', line 157 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 <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> specified by ID.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/auth0/roles/client.rb', line 121 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) 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 |
#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.
31 32 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/roles/client.rb', line 31 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[per_page page include_totals name_filter] 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) 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: "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::ListRolesOffsetPaginatedResponseContent.load(response.body) 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
218 219 220 |
# File 'lib/auth0/roles/client.rb', line 218 def @permissions ||= Auth0::Roles::Permissions::Client.new(client: @client) end |
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateRoleResponseContent
Modify the details of a specific <a href=“auth0.com/docs/manage-users/access-control/rbac”>user role</a> specified by ID.
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
# File 'lib/auth0/roles/client.rb', line 190 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 = ["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) 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 |