class Printos::AaaService

Public Class Methods

admin_context() click to toggle source
# File lib/printos/aaa_service.rb, line 80
def self.admin_context
  get_resource("#{API_BASE_PATH}/admin/context")
end
admin_device(resource_id) click to toggle source
# File lib/printos/aaa_service.rb, line 84
def self.admin_device(resource_id)
  get_resource("#{API_BASE_PATH}/admin/devices/#{resource_id}")
end
admin_device_gbu_organizations(offset, limit, device_gbu_filter, device_type_filter) click to toggle source
# File lib/printos/aaa_service.rb, line 88
def self.admin_device_gbu_organizations(offset, limit, device_gbu_filter, device_type_filter)
  uri = URI.join("#{API_BASE_PATH}/admin/devicegbu/organizations", org_id)
  query_params = URI.decode_www_form(uri.query || '')
  query_params << ['offset', offset] unless offset.blank?
  query_params << ['limit', limit] unless limit.blank?
  query_params << ['deviceType', device_type_filter] unless device_type_filter.blank?
  query_params << ['deviceGBU', device_gbu_filter] unless device_gbu_filter.blank?
  uri.query = URI.encode_www_form(query_params)

  get_resource(uri.to_s)
end
admin_organization(org_id) click to toggle source
# File lib/printos/aaa_service.rb, line 100
def self.admin_organization(org_id)
  get_resource("#{API_BASE_PATH}/admin/organizations/#{org_id}")
end
admin_organizations(offset, limit, name_filter, gbu_filter) click to toggle source
# File lib/printos/aaa_service.rb, line 104
def self.admin_organizations(offset, limit, name_filter, gbu_filter)
  uri = URI.parse("#{API_BASE_PATH}/admin/organizations")
  query_params = URI.decode_www_form(uri.query || '')
  query_params << ['offset', offset] unless offset.blank?
  query_params << ['limit', limit] unless limit.blank?
  query_params << ['name', name_filter] unless name_filter.blank?
  query_params << ['gbu', gbu_filter] unless gbu_filter.blank?
  uri.query = URI.encode_www_form(query_params)

  get_resource(uri.to_s)
end
admin_site(org_id, resource_id) click to toggle source
# File lib/printos/aaa_service.rb, line 116
def self.admin_site(org_id, resource_id)
  # AAA v3 does not have a method to directly retrieve a site by resource id
  # so we have to get all sites for the organization and select it
  sites = get_resource("#{API_BASE_PATH}/admin/organizations/#{org_id}/sites")

  sites[:sites].select { |site| site[:siteId] == resource_id }.first
end
authorize(payload, as_service=false) click to toggle source
# File lib/printos/aaa_service.rb, line 124
def self.authorize(payload, as_service=false)
  # The authorization API implementation is odd in that a response code of 412 is returned to indicate
  # that the service token has expired (normally 401 would be used)
  service_token_expired_code = 412

  begin
    parse PrintosRestClient.post("#{API_BASE_PATH}/authorize", payload, as_service, service_token_expired_code)
  rescue RestClient::Unauthorized
    Printos.config.logger.error('User token is invalid.')
    {}
  end
end
device(resource_id) click to toggle source
# File lib/printos/aaa_service.rb, line 72
def self.device(resource_id)
  get_resource("#{API_BASE_PATH}/organizations/devices/#{resource_id}")
end
devices() click to toggle source
# File lib/printos/aaa_service.rb, line 76
def self.devices
  get_resource("#{API_BASE_PATH}/organizations/devices/v2")
end
system_role_users(org_id, role_id) click to toggle source
# File lib/printos/aaa_service.rb, line 141
def self.system_role_users(org_id, role_id)
  get_resource("#{API_BASE_PATH}/admin/organizations/#{org_id}/users/systemroles/#{role_id}", true)
end
system_roles(as_service=false) click to toggle source
# File lib/printos/aaa_service.rb, line 137
def self.system_roles(as_service=false)
  get_resource("#{API_BASE_PATH}/systemroles", as_service)
end
user() click to toggle source
# File lib/printos/aaa_service.rb, line 68
def self.user
  get_resource("#{API_BASE_PATH}/users")
end