logon.rb
672 Bytes
# frozen_string_literal: true
module Syspro
class Logon < ApiResource
def self.logon(username, password, company_id, company_password = nil)
params = {
'Operator' => username,
'OperatorPassword' => password,
'CompanyId' => company_id,
'CompanyPassword' => company_password
}
resp = request(:get, resource_url, params)
handle_errors(resp)
UserIdObject.new(resp[0].http_body)
end
def resource_url
'/Logon'
end
def handle_errors(resp)
body = resp[0].http_body
raise AuthenticationError, body if body =~ /^(ERROR)/
end
UserIdObject = Struct.new(:guid)
end
end