Class: LosantRest::Applications

Inherits:
Object
  • Object
show all
Defined in:
lib/losant_rest/applications.rb

Overview

Class containing all the actions for the Applications Resource

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Applications

Returns a new instance of Applications.



30
31
32
# File 'lib/losant_rest/applications.rb', line 30

def initialize(client)
  @client = client
end

Instance Method Details

#get(params = {}) ⇒ Object

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:



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# 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 = {}) ⇒ Object

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:

Raises:

  • (ArgumentError)


115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# 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