Class: LosantRest::FlowVersions
- Inherits:
-
Object
- Object
- LosantRest::FlowVersions
- Defined in:
- lib/losant_rest/flow_versions.rb
Overview
Class containing all the actions for the Flow Versions Resource
Instance Method Summary collapse
-
#delete(params = {}) ⇒ Object
Delete flow versions.
-
#get(params = {}) ⇒ Object
Returns the flow versions for a flow.
-
#initialize(client) ⇒ FlowVersions
constructor
A new instance of FlowVersions.
-
#post(params = {}) ⇒ Object
Create or replace a flow version for a flow.
Constructor Details
#initialize(client) ⇒ FlowVersions
Returns a new instance of FlowVersions.
30 31 32 |
# File 'lib/losant_rest/flow_versions.rb', line 30 def initialize(client) @client = client end |
Instance Method Details
#delete(params = {}) ⇒ Object
Delete flow versions
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, flowVersions.*, or flowVersions.delete.
Parameters:
-
string applicationId - ID associated with the application
-
string flowId - ID associated with the flow
-
hash options - Object containing flow version deletion options (api.losant.com/#/definitions/flowVersionsDeletePost)
-
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 - Object indicating number of flow versions deleted or failed (api.losant.com/#/definitions/bulkDeleteResponse)
-
202 - If a job was enqueued for the flow versions to be deleted (api.losant.com/#/definitions/jobEnqueuedResult)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if application was not found (api.losant.com/#/definitions/error)
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/losant_rest/flow_versions.rb', line 58 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("flowId is required") unless params.has_key?(:flowId) raise ArgumentError.new("options is required") unless params.has_key?(:options) body = params[:options] if params.has_key?(:options) 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]}/flows/#{params[:flowId]}/versions/delete" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end |
#get(params = {}) ⇒ Object
Returns the flow versions for a flow
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.read, all.Organization, all.Organization.read, all.User, all.User.read, flowVersions.*, or flowVersions.get.
Parameters:
-
string applicationId - ID associated with the application
-
string flowId - ID associated with the flow
-
string sortField - Field to sort the results by. Accepted values are: version, id, creationDate, 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: version
-
string filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
-
string includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by the returned workflows
-
hash query - Workflow filter JSON object which overrides the filterField and filter parameters. (api.losant.com/#/definitions/advancedFlowVersionQuery)
-
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 - Collection of flow versions (api.losant.com/#/definitions/flowVersions)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if flow was not found (api.losant.com/#/definitions/error)
114 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 140 141 142 143 144 145 |
# File 'lib/losant_rest/flow_versions.rb', line 114 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("flowId is required") unless params.has_key?(:flowId) 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[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes) query_params[:query] = params[:query] if params.has_key?(:query) query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query) 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]}/flows/#{params[:flowId]}/versions" @client.request( method: :get, path: path, query: query_params, headers: headers, body: body) end |
#post(params = {}) ⇒ Object
Create or replace a flow version for a flow
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, flowVersions.*, or flowVersions.post.
Parameters:
-
string applicationId - ID associated with the application
-
string flowId - ID associated with the flow
-
hash flowVersion - New flow version information (api.losant.com/#/definitions/flowVersionPost)
-
string includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by the returned workflows
-
string allowReplacement - Allow replacement of an existing flow version with same version name
-
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:
-
201 - Successfully created flow version (api.losant.com/#/definitions/flowVersion)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if flow was not found (api.losant.com/#/definitions/error)
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/losant_rest/flow_versions.rb', line 172 def post(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("flowId is required") unless params.has_key?(:flowId) raise ArgumentError.new("flowVersion is required") unless params.has_key?(:flowVersion) body = params[:flowVersion] if params.has_key?(:flowVersion) query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes) query_params[:allowReplacement] = params[:allowReplacement] if params.has_key?(:allowReplacement) 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]}/flows/#{params[:flowId]}/versions" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end |