Class: Auth0::Roles::Permissions::Client
- Inherits:
-
Object
- Object
- Auth0::Roles::Permissions::Client
- Defined in:
- lib/auth0/roles/permissions/client.rb
Instance Method Summary collapse
-
#add(request_options: {}, **params) ⇒ untyped
Add one or more permissions to a specified user role.
-
#delete(request_options: {}, **params) ⇒ untyped
Remove one or more permissions from a specified user role.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListRolePermissionsOffsetPaginatedResponseContent
Retrieve detailed list (name, description, resource server) of permissions granted by a specified user role.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/auth0/roles/permissions/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#add(request_options: {}, **params) ⇒ untyped
Add one or more permissions to a specified user role.
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/auth0/roles/permissions/client.rb', line 97 def add(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Roles::Permissions::Types::AddRolePermissionsRequestContent.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: "POST", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/permissions", 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 permissions from a specified user role.
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/auth0/roles/permissions/client.rb', line 145 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Roles::Permissions::Types::DeleteRolePermissionsRequestContent.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: "DELETE", path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/permissions", 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::ListRolePermissionsOffsetPaginatedResponseContent
Retrieve detailed list (name, description, resource server) of permissions granted by a specified user role.
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 72 |
# File 'lib/auth0/roles/permissions/client.rb', line 37 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) Auth0::Internal::OffsetItemIterator.new( initial_page: query_params["page"], item_field: :permissions, 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/#{URI.encode_uri_component(params[:id].to_s)}/permissions", 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::ListRolePermissionsOffsetPaginatedResponseContent.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 |