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 <a href=“auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions”>permissions</a> to a specified user role.
-
#delete(request_options: {}, **params) ⇒ untyped
Remove one or more <a href=“auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions”>permissions</a> 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 <a href=“auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions”>permissions</a> to a specified user role.
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/auth0/roles/permissions/client.rb', line 81 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 = ["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 <a href=“auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions”>permissions</a> from a specified user role.
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/auth0/roles/permissions/client.rb', line 120 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 = ["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.
29 30 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 |
# File 'lib/auth0/roles/permissions/client.rb', line 29 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[per_page page include_totals] 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) params = params.except(*query_param_names) Auth0::Internal::OffsetItemIterator.new( initial_page: query_params["page"], item_field: :permissions, 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/#{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) Auth0::Types::ListRolePermissionsOffsetPaginatedResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |