class LosantRest::Applications

Class containing all the actions for the Applications Resource

Public Class Methods

new(client) click to toggle source
# File lib/losant_rest/applications.rb, line 30
def initialize(client)
  @client = client
end

Public Instance Methods

get(params = {}) click to toggle source

Returns the applications the current user has permission to see

Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Organization, all.Organization.read, all.User, all.User.cli, all.User.read, applications.*, or applications.get.

Parameters:

  • {string} sortField - Field to sort the results by. Accepted values are: name, id, creationDate, ownerId, lastUpdated

  • {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc

  • {string} page - Which page of results to return

  • {string} perPage - How many items to return per page

  • {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: name

  • {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.

  • {string} orgId - If not provided, return all applications. If provided but blank, only return applications belonging to the current user. If provided and an id, only return applications belonging to the given organization id.

  • {string} summaryExclude - Comma-separated list of summary fields to exclude from application summary

  • {string} summaryInclude - Comma-separated list of summary fields to include in application summary

  • {string} losantdomain - Domain scope of request (rarely needed)

  • {boolean} _actions - Return resource actions in response

  • {boolean} _links - Return resource link in response

  • {boolean} _embedded - Return embedded resources in response

Responses:

Errors:

# File lib/losant_rest/applications.rb, line 62
def get(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil


  query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
  query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
  query_params[:page] = params[:page] if params.has_key?(:page)
  query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
  query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
  query_params[:filter] = params[:filter] if params.has_key?(:filter)
  query_params[:orgId] = params[:orgId] if params.has_key?(:orgId)
  query_params[:summaryExclude] = params[:summaryExclude] if params.has_key?(:summaryExclude)
  query_params[:summaryInclude] = params[:summaryInclude] if params.has_key?(:summaryInclude)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications"

  @client.request(
    method: :get,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end
post(params = {}) click to toggle source

Create a new application

Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Organization, all.User, applications.*, or applications.post.

Parameters:

  • {hash} application - New application information (api.losant.com/#/definitions/applicationPost)

  • {string} summaryExclude - Comma-separated list of summary fields to exclude from application summary

  • {string} summaryInclude - Comma-separated list of summary fields to include in application summary

  • {string} losantdomain - Domain scope of request (rarely needed)

  • {boolean} _actions - Return resource actions in response

  • {boolean} _links - Return resource link in response

  • {boolean} _embedded - Return embedded resources in response

Responses:

Errors:

# File lib/losant_rest/applications.rb, line 115
def post(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil

  raise ArgumentError.new("application is required") unless params.has_key?(:application)

  body = params[:application] if params.has_key?(:application)
  query_params[:summaryExclude] = params[:summaryExclude] if params.has_key?(:summaryExclude)
  query_params[:summaryInclude] = params[:summaryInclude] if params.has_key?(:summaryInclude)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications"

  @client.request(
    method: :post,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end