class PrintosClient

Constants

API_BASE
USER_PERMISSIONS

Public Class Methods

get_instance() click to toggle source
# File lib/printos/printos_client.rb, line 15
def self.get_instance
  ::RequestStore.store[:print_os_client] ||= PrintosClient.new(@token)
end
new(token) click to toggle source
# File lib/printos/printos_client.rb, line 104
def initialize(token)
  @token = token
  @site_resource = {}
  @printer_resource = {}
end
set_instance(token) click to toggle source
# File lib/printos/printos_client.rb, line 9
def self.set_instance(token)
  @token = token
  ::RequestStore.store[:printos_token] = token
  get_instance
end

Public Instance Methods

admin_context() click to toggle source
# File lib/printos/printos_client.rb, line 67
def admin_context
  Printos::AaaService.admin_context
end
admin_device_gbu_organizations(offset, limit, device_gbu_filter, device_type_filter) click to toggle source
# File lib/printos/printos_client.rb, line 71
def admin_device_gbu_organizations(offset, limit, device_gbu_filter, device_type_filter)
  Printos::AaaService.admin_device_gbu_organizations(offset, limit, device_gbu_filter, device_type_filter)
end
admin_organization(org_id) click to toggle source
# File lib/printos/printos_client.rb, line 75
def admin_organization(org_id)
  Printos::AaaService.admin_organization(org_id)
end
admin_organizations(offset, limit, name_filter, gbu_filter) click to toggle source
# File lib/printos/printos_client.rb, line 79
def admin_organizations(offset, limit, name_filter, gbu_filter)
  Printos::AaaService.admin_organizations(offset, limit, name_filter, gbu_filter)
end
admin_printer(resource_id) click to toggle source
# File lib/printos/printos_client.rb, line 83
def admin_printer(resource_id)
  @printer_resource[resource_id] ||= Printos::AaaService.admin_device(resource_id)
end
admin_site(org_id, resource_id) click to toggle source
# File lib/printos/printos_client.rb, line 87
def admin_site(org_id, resource_id)
  @site_resource[resource_id] ||= Printos::AaaService.admin_site(org_id, resource_id)
end
authorization() click to toggle source
# File lib/printos/printos_client.rb, line 53
def authorization
  body = {
    requestToken: @token,
    permissions: USER_PERMISSIONS,
    checkedObjectName: 'checkSuluPermissions'
  }

  @authorization ||= Printos::AaaService.authorize(body, true)
end
create_site(payload) click to toggle source
# File lib/printos/printos_client.rb, line 95
def create_site(payload)
  Printos::AaaService.create_site(payload)
end
devices() click to toggle source
# File lib/printos/printos_client.rb, line 43
def devices
  org = organization
  site_id = org[:organizationId]

  @devices ||= Printos::AaaService.devices
  device_list = @devices[:devicesWithContext].first[:devices]

  device_list.select { |device| device[:site] && device[:site][:organizationId] == site_id }
end
logged_in?() click to toggle source
# File lib/printos/printos_client.rb, line 19
def logged_in?
  @token.present?
end
organization() click to toggle source
# File lib/printos/printos_client.rb, line 27
def organization
  @org ||= Printos::AaaService.organization
end
permissions() click to toggle source
# File lib/printos/printos_client.rb, line 63
def permissions
  authorization[:permissions]&.map { |p| p[:name] }
end
printer(resource_id) click to toggle source
# File lib/printos/printos_client.rb, line 39
def printer(resource_id)
  @printer_resource[resource_id] ||= Printos::AaaService.device(resource_id)
end
site(resource_id) click to toggle source
# File lib/printos/printos_client.rb, line 31
def site(resource_id)
  @site_resource[resource_id] ||= Printos::AaaService.site(resource_id)
end
sites() click to toggle source
# File lib/printos/printos_client.rb, line 35
def sites
  @sites ||= Printos::AaaService.sites
end
update_organization(payload) click to toggle source
# File lib/printos/printos_client.rb, line 91
def update_organization(payload)
  Printos::AaaService.update_organization(payload)
end
update_site(resource_id, payload) click to toggle source
# File lib/printos/printos_client.rb, line 99
def update_site(resource_id, payload)
  Printos::AaaService.update_site(resource_id, payload)
end
user() click to toggle source
# File lib/printos/printos_client.rb, line 23
def user
  @user ||= Printos::AaaService.user
end