class LosantRest::DataTable
Class containing all the actions for the Data
Table Resource
Public Class Methods
# File lib/losant_rest/data_table.rb, line 30 def initialize(client) @client = client end
Public Instance Methods
Adds a new column to this data table
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.Application, all.Organization, all.User, dataTable.*, or dataTable.addColumn.
Parameters:
-
{string} applicationId - ID associated with the application
-
{string} dataTableId - ID associated with the data table
-
{hash} dataTableColumn - Object containing the new column properties (api.losant.com/#/definitions/dataTableColumn)
-
{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:
-
200 - Updated data table information (api.losant.com/#/definitions/dataTable)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if data table was not found (api.losant.com/#/definitions/error)
# File lib/losant_rest/data_table.rb, line 57 def add_column(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("dataTableId is required") unless params.has_key?(:dataTableId) raise ArgumentError.new("dataTableColumn is required") unless params.has_key?(:dataTableColumn) body = params[:dataTableColumn] if params.has_key?(:dataTableColumn) 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/#{params[:applicationId]}/data-tables/#{params[:dataTableId]}/column" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end
Deletes a data table
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.Application, all.Organization, all.User, dataTable.*, or dataTable.delete.
Parameters:
-
{string} applicationId - ID associated with the application
-
{string} dataTableId - ID associated with the data table
-
{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:
-
200 - If data table was successfully deleted (api.losant.com/#/definitions/success)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if data table was not found (api.losant.com/#/definitions/error)
# File lib/losant_rest/data_table.rb, line 105 def delete(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("dataTableId is required") unless params.has_key?(:dataTableId) 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/#{params[:applicationId]}/data-tables/#{params[:dataTableId]}" @client.request( method: :delete, path: path, query: query_params, headers: headers, body: body) end
Retrieves information on a data table
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.Application, all.Application.cli, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.cli, all.User.read, dataTable.*, or dataTable.get.
Parameters:
-
{string} applicationId - ID associated with the application
-
{string} dataTableId - ID associated with the data table
-
{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:
-
200 -
Data
table information (api.losant.com/#/definitions/dataTable)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if data table was not found (api.losant.com/#/definitions/error)
# File lib/losant_rest/data_table.rb, line 151 def get(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("dataTableId is required") unless params.has_key?(:dataTableId) 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/#{params[:applicationId]}/data-tables/#{params[:dataTableId]}" @client.request( method: :get, path: path, query: query_params, headers: headers, body: body) end
Updates information about a data table
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.Application, all.Organization, all.User, dataTable.*, or dataTable.patch.
Parameters:
-
{string} applicationId - ID associated with the application
-
{string} dataTableId - ID associated with the data table
-
{hash} dataTable - Object containing updated properties of the data table (api.losant.com/#/definitions/dataTablePatch)
-
{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:
-
200 - Updated data table information (api.losant.com/#/definitions/dataTable)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if data table was not found (api.losant.com/#/definitions/error)
# File lib/losant_rest/data_table.rb, line 198 def patch(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("dataTableId is required") unless params.has_key?(:dataTableId) raise ArgumentError.new("dataTable is required") unless params.has_key?(:dataTable) body = params[:dataTable] if params.has_key?(:dataTable) 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/#{params[:applicationId]}/data-tables/#{params[:dataTableId]}" @client.request( method: :patch, path: path, query: query_params, headers: headers, body: body) end
Removes a column from this data table
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.Application, all.Organization, all.User, dataTable.*, or dataTable.removeColumn.
Parameters:
-
{string} applicationId - ID associated with the application
-
{string} dataTableId - ID associated with the data table
-
{string} columnName - Name of the column to remove
-
{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:
-
200 - Updated data table information (api.losant.com/#/definitions/dataTable)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if data table was not found (api.losant.com/#/definitions/error)
# File lib/losant_rest/data_table.rb, line 247 def remove_column(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("dataTableId is required") unless params.has_key?(:dataTableId) raise ArgumentError.new("columnName is required") unless params.has_key?(:columnName) query_params[:columnName] = params[:columnName] if params.has_key?(:columnName) 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/#{params[:applicationId]}/data-tables/#{params[:dataTableId]}/column" @client.request( method: :delete, path: path, query: query_params, headers: headers, body: body) end