class Datacentred::Request::Roles
RESTful API requests for the roles endpoints.
Public Class Methods
Add new user to this role, giving them the associated permissions.
PUT /api/roles/ea894bed9d738d9f/users/82fa8de8f09102cc
@param [String] role_id The unique identifier for this role. @param [String] user_id The unique identifier for this user. @raise [Errors::NotFound] Raised if the role or user couldn't be found. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [nil] Confirms that user was added (or is already present).
# File lib/datacentred/request/roles.rb, line 87 def add_user(role_id, user_id) put("roles/#{role_id}/users/#{user_id}") end
Create a new role.
POST /api/roles
@param [Hash] params Role
attributes. @raise [Errors::UnprocessableEntity] Raised if validations fail for the supplied attributes. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [Hash] New role.
# File lib/datacentred/request/roles.rb, line 14 def create(params) post('roles', 'role' => params)['role'] end
Permanently remove the specified role.
DELETE /api/roles/ea894bed9d738d9f
@param [String] id The unique identifier for this role. @raise [Errors::NotFound] Raised if the role couldn't be found. @raise [Errors::UnprocessableEntity] Raised if validations fail for the specifed role. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [nil] Confirms the role was destroyed.
# File lib/datacentred/request/roles.rb, line 63 def destroy(id) delete("roles/#{id}") end
List all available roles.
GET /api/roles
@raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [[Hash]] A collection of all roles on this account.
# File lib/datacentred/request/roles.rb, line 24 def list get('roles')['roles'] end
List all users assigned to this role.
GET /api/roles/ea894bed9d738d9f/users
@param [String] role_id The unique identifier for this role. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [[Hash]] A collection of the role's users.
# File lib/datacentred/request/roles.rb, line 74 def list_users(role_id) get("roles/#{role_id}/users")['users'] end
Remove user from this role, revoking the associated permissions.
DELETE /api/roles/ea894bed9d738d9f/users/82fa8de8f09102cc
@param [String] role_id The unique identifier for this role. @param [String] user_id The unique identifier for this user. @raise [Errors::NotFound] Raised if the role or user coundn't be found. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [nil] Confirms that user was removed (or is already absent).
# File lib/datacentred/request/roles.rb, line 100 def remove_user(role_id, user_id) delete("roles/#{role_id}/users/#{user_id}") end
Find a role by unique ID.
GET /api/roles/ea894bed9d738d9f
@param [String] id The unique identifier for this role. @raise [Errors::NotFound] Raised if the role couldn't be found. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [Hash] The role, if it exists.
# File lib/datacentred/request/roles.rb, line 36 def show(id) get("roles/#{id}")['role'] end
Update a role by unique ID.
PUT /api/roles/ea894bed9d738d9f
@param [String] id The unique identifier for this role. @param [Hash] params Role
attributes. @raise [Errors::UnprocessableEntity] Raised if validations fail for the supplied attributes. @raise [Errors::NotFound] Raised if the role doesn't exist. @raise [Errors::Unauthorized] Raised if credentials aren't valid. @return [Hash] The updated role.
# File lib/datacentred/request/roles.rb, line 50 def update(id, params) put("roles/#{id}", 'role' => params)['role'] end