class AuthLh::Api

Public Class Methods

new(args={}) click to toggle source
# File lib/auth_lh/api.rb, line 3
def initialize(args={})
  @endpoint = (args[:endpoint] || 'https://usuarios.lhconfort.com.ar')
  @application_code = args[:application_code]
  @access_token = args[:access_token]
end

Public Instance Methods

change_password_url(return_url=nil) click to toggle source
# File lib/auth_lh/api.rb, line 74
def change_password_url(return_url=nil)
  if return_url.present?
    "#{@endpoint}/current_user/password/edit?return_url=#{CGI::escape(return_url)}"
  else
    "#{@endpoint}/current_user/password/edit"
  end
end
get_current_shop(ip_address=nil) click to toggle source
# File lib/auth_lh/api.rb, line 52
def get_current_shop(ip_address=nil)
  attrs = { ip: ip_address }
  response = get_request('/api/current_shop', attrs)
  response.nil? ? nil : Shop.new(response)
end
get_current_user(session_token, remote_ip, return_url=nil) click to toggle source
# File lib/auth_lh/api.rb, line 41
def get_current_user(session_token, remote_ip, return_url=nil)
  result = get_request '/api/current_user', {
    app_code: @application_code,
    session_token: session_token,
    remote_ip: remote_ip,
    return_url: return_url
  }

  SessionResponse.new(result)
end
get_external_apps() click to toggle source
# File lib/auth_lh/api.rb, line 27
def get_external_apps
  results = get_request('/api/external_apps')
  results.map { |r| ExternalAppExtended.new(r) }
end
get_role(role_id) click to toggle source
# File lib/auth_lh/api.rb, line 37
def get_role(role_id)
  Role.new(get_request("/api/roles/#{role_id}"))
end
get_roles() click to toggle source
# File lib/auth_lh/api.rb, line 32
def get_roles
  results = get_request('/api/roles')
  results.map { |r| Role.new(r) }
end
get_user(login) click to toggle source
# File lib/auth_lh/api.rb, line 9
def get_user(login)
  User.new(get_request("/api/users/#{CGI::escape(login)}"))
end
get_users(filters={}) click to toggle source
# File lib/auth_lh/api.rb, line 17
def get_users(filters={})
  results = get_request('/api/users', filters)
  results.map { |r| User.new(r) }
end
get_users_extended(filters={}) click to toggle source
# File lib/auth_lh/api.rb, line 22
def get_users_extended(filters={})
  results = get_request('/api/users/extended', filters)
  results.map { |r| UserExtended.new(r) }
end
login_url(return_url=nil) click to toggle source
# File lib/auth_lh/api.rb, line 58
def login_url(return_url=nil)
  if return_url.present?
    "#{@endpoint}/login?return_url=#{CGI::escape(return_url)}"
  else
    "#{@endpoint}/login"
  end
end
logout_url(return_url=nil) click to toggle source
# File lib/auth_lh/api.rb, line 66
def logout_url(return_url=nil)
  if return_url.present?
    "#{@endpoint}/logout?return_url=#{CGI::escape(return_url)}"
  else
    "#{@endpoint}/logout"
  end
end
update_user(login, attrs={}) click to toggle source
# File lib/auth_lh/api.rb, line 13
def update_user(login, attrs={})
  User.new(put_request("/api/users/#{CGI::escape(login)}", attrs))
end

Protected Instance Methods

auth_headers() click to toggle source
# File lib/auth_lh/api.rb, line 104
def auth_headers
  { authorization: "Token token=\"#{@access_token}\"" }
end
get_request(action, params={}) click to toggle source
# File lib/auth_lh/api.rb, line 84
def get_request(action, params={})
  response = RestClient.get("#{@endpoint}#{action}", {params: params}.merge(auth_headers))

  if response.body == 'null'
    nil
  else
    JSON.parse(response.body)
  end
end
put_request(action, params={}) click to toggle source
# File lib/auth_lh/api.rb, line 94
def put_request(action, params={})
  response = RestClient.put("#{@endpoint}#{action}", params, auth_headers)

  if response.body == 'null'
    nil
  else
    JSON.parse(response.body)
  end
end