module Kaseya::BMS

Constants

LIST_TYPES
TICKET_SOURCES
VERSION

Public Class Methods

authenticate(host, username, password, tenant) click to toggle source
# File lib/kaseya/bms.rb, line 30
def self.authenticate(host, username, password, tenant)
  params = {
    grant_type: "password",
    username: username,
    password: password,
    tenant: tenant
  }

  conn = Faraday.new(url: "https://#{host}/api", ssl: { verify: !debug }) do |faraday|
    faraday.use HttpErrors

    faraday.request :url_encoded
    faraday.response :json
    faraday.adapter Faraday.default_adapter
  end

  response = conn.post('token', params)
  connection = Connection.new(host, response.body["access_token"], response.body["expires_in"])
  Client.new(connection)
rescue Faraday::ConnectionFailed => e
  raise Kaseya::ConnectionFailed, e.message
end