losant_rest 1.19.4 → 1.19.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +9 -9
  4. data/docs/_schemas.md +7090 -2334
  5. data/docs/experienceUsers.md +1 -0
  6. data/docs/instanceAuditLog.md +49 -0
  7. data/docs/instanceAuditLogs.md +53 -0
  8. data/examples/auth.rb +1 -1
  9. data/examples/list_devices.rb +1 -1
  10. data/lib/platform_rest/application.rb +1 -1
  11. data/lib/platform_rest/application_api_token.rb +1 -1
  12. data/lib/platform_rest/application_api_tokens.rb +1 -1
  13. data/lib/platform_rest/application_certificate.rb +1 -1
  14. data/lib/platform_rest/application_certificate_authorities.rb +1 -1
  15. data/lib/platform_rest/application_certificate_authority.rb +1 -1
  16. data/lib/platform_rest/application_certificates.rb +1 -1
  17. data/lib/platform_rest/application_dashboard.rb +1 -1
  18. data/lib/platform_rest/application_dashboards.rb +1 -1
  19. data/lib/platform_rest/application_key.rb +1 -1
  20. data/lib/platform_rest/application_keys.rb +1 -1
  21. data/lib/platform_rest/application_template.rb +1 -1
  22. data/lib/platform_rest/application_templates.rb +1 -1
  23. data/lib/platform_rest/applications.rb +1 -1
  24. data/lib/platform_rest/audit_log.rb +1 -1
  25. data/lib/platform_rest/audit_logs.rb +1 -1
  26. data/lib/platform_rest/auth.rb +1 -1
  27. data/lib/platform_rest/client.rb +11 -3
  28. data/lib/platform_rest/credential.rb +1 -1
  29. data/lib/platform_rest/credentials.rb +1 -1
  30. data/lib/platform_rest/dashboard.rb +1 -1
  31. data/lib/platform_rest/dashboards.rb +1 -1
  32. data/lib/platform_rest/data.rb +1 -1
  33. data/lib/platform_rest/data_table.rb +1 -1
  34. data/lib/platform_rest/data_table_row.rb +1 -1
  35. data/lib/platform_rest/data_table_rows.rb +1 -1
  36. data/lib/platform_rest/data_tables.rb +1 -1
  37. data/lib/platform_rest/device.rb +1 -1
  38. data/lib/platform_rest/device_recipe.rb +1 -1
  39. data/lib/platform_rest/device_recipes.rb +1 -1
  40. data/lib/platform_rest/devices.rb +1 -1
  41. data/lib/platform_rest/edge_deployment.rb +1 -1
  42. data/lib/platform_rest/edge_deployments.rb +1 -1
  43. data/lib/platform_rest/embedded_deployment.rb +1 -1
  44. data/lib/platform_rest/embedded_deployments.rb +1 -1
  45. data/lib/platform_rest/error.rb +1 -1
  46. data/lib/platform_rest/event.rb +1 -1
  47. data/lib/platform_rest/events.rb +1 -1
  48. data/lib/platform_rest/experience.rb +1 -1
  49. data/lib/platform_rest/experience_domain.rb +1 -1
  50. data/lib/platform_rest/experience_domains.rb +1 -1
  51. data/lib/platform_rest/experience_endpoint.rb +1 -1
  52. data/lib/platform_rest/experience_endpoints.rb +1 -1
  53. data/lib/platform_rest/experience_group.rb +1 -1
  54. data/lib/platform_rest/experience_groups.rb +1 -1
  55. data/lib/platform_rest/experience_slug.rb +1 -1
  56. data/lib/platform_rest/experience_slugs.rb +1 -1
  57. data/lib/platform_rest/experience_user.rb +1 -1
  58. data/lib/platform_rest/experience_users.rb +4 -1
  59. data/lib/platform_rest/experience_version.rb +1 -1
  60. data/lib/platform_rest/experience_versions.rb +1 -1
  61. data/lib/platform_rest/experience_view.rb +1 -1
  62. data/lib/platform_rest/experience_views.rb +1 -1
  63. data/lib/platform_rest/file.rb +1 -1
  64. data/lib/platform_rest/files.rb +1 -1
  65. data/lib/platform_rest/flow.rb +1 -1
  66. data/lib/platform_rest/flow_version.rb +1 -1
  67. data/lib/platform_rest/flow_versions.rb +1 -1
  68. data/lib/platform_rest/flows.rb +1 -1
  69. data/lib/platform_rest/instance.rb +1 -1
  70. data/lib/platform_rest/instance_api_token.rb +1 -1
  71. data/lib/platform_rest/instance_api_tokens.rb +1 -1
  72. data/lib/{losant_rest/application_template.rb → platform_rest/instance_audit_log.rb} +13 -11
  73. data/lib/{losant_rest/audit_logs.rb → platform_rest/instance_audit_logs.rb} +12 -12
  74. data/lib/platform_rest/instance_custom_node.rb +1 -1
  75. data/lib/platform_rest/instance_custom_nodes.rb +1 -1
  76. data/lib/platform_rest/instance_member.rb +1 -1
  77. data/lib/platform_rest/instance_members.rb +1 -1
  78. data/lib/platform_rest/instance_org.rb +1 -1
  79. data/lib/platform_rest/instance_org_invite.rb +1 -1
  80. data/lib/platform_rest/instance_org_invites.rb +1 -1
  81. data/lib/platform_rest/instance_org_member.rb +1 -1
  82. data/lib/platform_rest/instance_org_members.rb +1 -1
  83. data/lib/platform_rest/instance_orgs.rb +1 -1
  84. data/lib/platform_rest/instance_sandbox.rb +1 -1
  85. data/lib/platform_rest/instance_sandboxes.rb +1 -1
  86. data/lib/platform_rest/instances.rb +1 -1
  87. data/lib/platform_rest/integration.rb +1 -1
  88. data/lib/platform_rest/integrations.rb +1 -1
  89. data/lib/platform_rest/me.rb +1 -1
  90. data/lib/platform_rest/notebook.rb +1 -1
  91. data/lib/platform_rest/notebooks.rb +1 -1
  92. data/lib/platform_rest/org.rb +1 -1
  93. data/lib/platform_rest/org_invites.rb +1 -1
  94. data/lib/platform_rest/orgs.rb +1 -1
  95. data/lib/platform_rest/resource_job.rb +1 -1
  96. data/lib/platform_rest/resource_jobs.rb +1 -1
  97. data/lib/platform_rest/user_api_token.rb +1 -1
  98. data/lib/platform_rest/user_api_tokens.rb +1 -1
  99. data/lib/platform_rest/utils.rb +1 -1
  100. data/lib/{losant_rest → platform_rest}/version.rb +3 -3
  101. data/lib/platform_rest/webhook.rb +1 -1
  102. data/lib/platform_rest/webhooks.rb +1 -1
  103. data/lib/platform_rest.rb +3 -1
  104. data/losant_rest.gemspec +2 -2
  105. data/schemas/advancedExperienceUserQuery.json +1068 -0
  106. data/schemas/apiTokenPost.json +9 -1
  107. data/schemas/auditLog.json +3 -2
  108. data/schemas/auditLogFilter.json +3 -2
  109. data/schemas/auditLogs.json +3 -2
  110. data/schemas/credential.json +95 -1
  111. data/schemas/credentialLinkedResources.json +417 -19
  112. data/schemas/credentialPatch.json +107 -0
  113. data/schemas/credentialPost.json +129 -1
  114. data/schemas/credentials.json +95 -1
  115. data/schemas/deviceConnectionStatus.json +6 -2
  116. data/schemas/devicesHistoricalImportPost.json +25 -0
  117. data/schemas/experienceLinkedResources.json +343 -20
  118. data/schemas/experienceVersion.json +64 -0
  119. data/schemas/experienceVersionPatch.json +64 -0
  120. data/schemas/experienceVersionPost.json +64 -0
  121. data/schemas/experienceVersions.json +64 -0
  122. data/schemas/experienceView.json +1 -2
  123. data/schemas/experienceViewPatch.json +1 -2
  124. data/schemas/experienceViewPost.json +2 -4
  125. data/schemas/experienceViews.json +1 -2
  126. data/schemas/flow.json +114 -6
  127. data/schemas/flowPatch.json +114 -6
  128. data/schemas/flowPost.json +114 -6
  129. data/schemas/flowVersion.json +228 -12
  130. data/schemas/flowVersionPost.json +114 -6
  131. data/schemas/flowVersions.json +228 -12
  132. data/schemas/flows.json +114 -6
  133. data/schemas/flowsImportPost.json +228 -12
  134. data/schemas/flowsImportResult.json +342 -18
  135. data/schemas/githubLogin.json +9 -1
  136. data/schemas/instance.json +1 -4
  137. data/schemas/instanceAuditLog.json +94 -0
  138. data/schemas/instanceAuditLogFilter.json +106 -0
  139. data/schemas/instanceAuditLogs.json +41 -0
  140. data/schemas/instanceCustomNode.json +2 -1
  141. data/schemas/instanceCustomNodePatch.json +2 -7
  142. data/schemas/instanceCustomNodePost.json +2 -7
  143. data/schemas/instanceCustomNodes.json +2 -1
  144. data/schemas/instanceOrgMember.json +4 -1
  145. data/schemas/instances.json +1 -4
  146. data/schemas/integration.json +75 -1
  147. data/schemas/integrationPatch.json +73 -0
  148. data/schemas/integrationPost.json +75 -1
  149. data/schemas/integrations.json +75 -1
  150. data/schemas/mePatch.json +18 -0
  151. data/schemas/resourceJob.json +2 -1
  152. data/schemas/resourceJobExecutionLogs.json +2 -1
  153. data/schemas/resourceJobPost.json +2 -1
  154. data/schemas/resourceJobs.json +2 -1
  155. data/schemas/samlResponse.json +9 -1
  156. data/schemas/userCredentials.json +9 -1
  157. data/schemas/userPost.json +9 -1
  158. data/test/basic_test.rb +6 -6
  159. data/test/test_helper.rb +1 -1
  160. metadata +12 -94
  161. data/lib/losant_rest/application.rb +0 -932
  162. data/lib/losant_rest/application_api_token.rb +0 -176
  163. data/lib/losant_rest/application_api_tokens.rb +0 -136
  164. data/lib/losant_rest/application_certificate.rb +0 -176
  165. data/lib/losant_rest/application_certificate_authorities.rb +0 -138
  166. data/lib/losant_rest/application_certificate_authority.rb +0 -176
  167. data/lib/losant_rest/application_certificates.rb +0 -138
  168. data/lib/losant_rest/application_dashboard.rb +0 -225
  169. data/lib/losant_rest/application_dashboards.rb +0 -138
  170. data/lib/losant_rest/application_key.rb +0 -176
  171. data/lib/losant_rest/application_keys.rb +0 -141
  172. data/lib/losant_rest/application_templates.rb +0 -176
  173. data/lib/losant_rest/applications.rb +0 -142
  174. data/lib/losant_rest/audit_log.rb +0 -81
  175. data/lib/losant_rest/auth.rb +0 -245
  176. data/lib/losant_rest/client.rb +0 -410
  177. data/lib/losant_rest/credential.rb +0 -224
  178. data/lib/losant_rest/credentials.rb +0 -138
  179. data/lib/losant_rest/dashboard.rb +0 -268
  180. data/lib/losant_rest/dashboards.rb +0 -136
  181. data/lib/losant_rest/data.rb +0 -176
  182. data/lib/losant_rest/data_table.rb +0 -274
  183. data/lib/losant_rest/data_table_row.rb +0 -182
  184. data/lib/losant_rest/data_table_rows.rb +0 -343
  185. data/lib/losant_rest/data_tables.rb +0 -138
  186. data/lib/losant_rest/device.rb +0 -749
  187. data/lib/losant_rest/device_recipe.rb +0 -234
  188. data/lib/losant_rest/device_recipes.rb +0 -146
  189. data/lib/losant_rest/devices.rb +0 -707
  190. data/lib/losant_rest/edge_deployment.rb +0 -81
  191. data/lib/losant_rest/edge_deployments.rb +0 -236
  192. data/lib/losant_rest/embedded_deployment.rb +0 -81
  193. data/lib/losant_rest/embedded_deployments.rb +0 -280
  194. data/lib/losant_rest/error.rb +0 -34
  195. data/lib/losant_rest/event.rb +0 -176
  196. data/lib/losant_rest/events.rb +0 -341
  197. data/lib/losant_rest/experience.rb +0 -142
  198. data/lib/losant_rest/experience_domain.rb +0 -176
  199. data/lib/losant_rest/experience_domains.rb +0 -126
  200. data/lib/losant_rest/experience_endpoint.rb +0 -230
  201. data/lib/losant_rest/experience_endpoints.rb +0 -200
  202. data/lib/losant_rest/experience_group.rb +0 -180
  203. data/lib/losant_rest/experience_groups.rb +0 -141
  204. data/lib/losant_rest/experience_slug.rb +0 -176
  205. data/lib/losant_rest/experience_slugs.rb +0 -126
  206. data/lib/losant_rest/experience_user.rb +0 -176
  207. data/lib/losant_rest/experience_users.rb +0 -142
  208. data/lib/losant_rest/experience_version.rb +0 -176
  209. data/lib/losant_rest/experience_versions.rb +0 -138
  210. data/lib/losant_rest/experience_view.rb +0 -228
  211. data/lib/losant_rest/experience_views.rb +0 -142
  212. data/lib/losant_rest/file.rb +0 -226
  213. data/lib/losant_rest/files.rb +0 -144
  214. data/lib/losant_rest/flow.rb +0 -580
  215. data/lib/losant_rest/flow_version.rb +0 -352
  216. data/lib/losant_rest/flow_versions.rb +0 -201
  217. data/lib/losant_rest/flows.rb +0 -310
  218. data/lib/losant_rest/instance.rb +0 -377
  219. data/lib/losant_rest/instance_api_token.rb +0 -176
  220. data/lib/losant_rest/instance_api_tokens.rb +0 -136
  221. data/lib/losant_rest/instance_custom_node.rb +0 -282
  222. data/lib/losant_rest/instance_custom_nodes.rb +0 -136
  223. data/lib/losant_rest/instance_member.rb +0 -176
  224. data/lib/losant_rest/instance_members.rb +0 -134
  225. data/lib/losant_rest/instance_org.rb +0 -336
  226. data/lib/losant_rest/instance_org_invite.rb +0 -182
  227. data/lib/losant_rest/instance_org_invites.rb +0 -138
  228. data/lib/losant_rest/instance_org_member.rb +0 -182
  229. data/lib/losant_rest/instance_org_members.rb +0 -138
  230. data/lib/losant_rest/instance_orgs.rb +0 -139
  231. data/lib/losant_rest/instance_sandbox.rb +0 -181
  232. data/lib/losant_rest/instance_sandboxes.rb +0 -98
  233. data/lib/losant_rest/instances.rb +0 -88
  234. data/lib/losant_rest/integration.rb +0 -178
  235. data/lib/losant_rest/integrations.rb +0 -138
  236. data/lib/losant_rest/me.rb +0 -790
  237. data/lib/losant_rest/notebook.rb +0 -423
  238. data/lib/losant_rest/notebooks.rb +0 -138
  239. data/lib/losant_rest/org.rb +0 -663
  240. data/lib/losant_rest/org_invites.rb +0 -124
  241. data/lib/losant_rest/orgs.rb +0 -140
  242. data/lib/losant_rest/resource_job.rb +0 -326
  243. data/lib/losant_rest/resource_jobs.rb +0 -138
  244. data/lib/losant_rest/user_api_token.rb +0 -170
  245. data/lib/losant_rest/user_api_tokens.rb +0 -132
  246. data/lib/losant_rest/utils.rb +0 -44
  247. data/lib/losant_rest/webhook.rb +0 -178
  248. data/lib/losant_rest/webhooks.rb +0 -138
  249. data/lib/losant_rest.rb +0 -129
@@ -1,176 +0,0 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2023 Losant IoT, Inc.
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
- require "json"
24
-
25
- module LosantRest
26
-
27
- # Class containing all the actions for the Application Key Resource
28
- class ApplicationKey
29
-
30
- def initialize(client)
31
- @client = client
32
- end
33
-
34
- # Deletes an applicationKey
35
- #
36
- # Authentication:
37
- # The client must be configured with a valid api
38
- # access token to call this action. The token
39
- # must include at least one of the following scopes:
40
- # all.Application, all.Organization, all.User, applicationKey.*, or applicationKey.delete.
41
- #
42
- # Parameters:
43
- # * {string} applicationId - ID associated with the application
44
- # * {string} applicationKeyId - ID associated with the applicationKey
45
- # * {string} losantdomain - Domain scope of request (rarely needed)
46
- # * {boolean} _actions - Return resource actions in response
47
- # * {boolean} _links - Return resource link in response
48
- # * {boolean} _embedded - Return embedded resources in response
49
- #
50
- # Responses:
51
- # * 200 - If applicationKey was successfully deleted (https://api.losant.com/#/definitions/success)
52
- #
53
- # Errors:
54
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
55
- # * 404 - Error if applicationKey was not found (https://api.losant.com/#/definitions/error)
56
- def delete(params = {})
57
- params = Utils.symbolize_hash_keys(params)
58
- query_params = { _actions: false, _links: true, _embedded: true }
59
- headers = {}
60
- body = nil
61
-
62
- raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
63
- raise ArgumentError.new("applicationKeyId is required") unless params.has_key?(:applicationKeyId)
64
-
65
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
66
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
67
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
68
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
69
-
70
- path = "/applications/#{params[:applicationId]}/keys/#{params[:applicationKeyId]}"
71
-
72
- @client.request(
73
- method: :delete,
74
- path: path,
75
- query: query_params,
76
- headers: headers,
77
- body: body)
78
- end
79
-
80
- # Retrieves information on an applicationKey
81
- #
82
- # Authentication:
83
- # The client must be configured with a valid api
84
- # access token to call this action. The token
85
- # must include at least one of the following scopes:
86
- # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, applicationKey.*, or applicationKey.get.
87
- #
88
- # Parameters:
89
- # * {string} applicationId - ID associated with the application
90
- # * {string} applicationKeyId - ID associated with the applicationKey
91
- # * {string} losantdomain - Domain scope of request (rarely needed)
92
- # * {boolean} _actions - Return resource actions in response
93
- # * {boolean} _links - Return resource link in response
94
- # * {boolean} _embedded - Return embedded resources in response
95
- #
96
- # Responses:
97
- # * 200 - applicationKey information (https://api.losant.com/#/definitions/applicationKey)
98
- #
99
- # Errors:
100
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
101
- # * 404 - Error if applicationKey was not found (https://api.losant.com/#/definitions/error)
102
- def get(params = {})
103
- params = Utils.symbolize_hash_keys(params)
104
- query_params = { _actions: false, _links: true, _embedded: true }
105
- headers = {}
106
- body = nil
107
-
108
- raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
109
- raise ArgumentError.new("applicationKeyId is required") unless params.has_key?(:applicationKeyId)
110
-
111
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
112
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
113
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
114
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
115
-
116
- path = "/applications/#{params[:applicationId]}/keys/#{params[:applicationKeyId]}"
117
-
118
- @client.request(
119
- method: :get,
120
- path: path,
121
- query: query_params,
122
- headers: headers,
123
- body: body)
124
- end
125
-
126
- # Updates information about an applicationKey
127
- #
128
- # Authentication:
129
- # The client must be configured with a valid api
130
- # access token to call this action. The token
131
- # must include at least one of the following scopes:
132
- # all.Application, all.Organization, all.User, applicationKey.*, or applicationKey.patch.
133
- #
134
- # Parameters:
135
- # * {string} applicationId - ID associated with the application
136
- # * {string} applicationKeyId - ID associated with the applicationKey
137
- # * {hash} applicationKey - Object containing new properties of the applicationKey (https://api.losant.com/#/definitions/applicationKeyPatch)
138
- # * {string} losantdomain - Domain scope of request (rarely needed)
139
- # * {boolean} _actions - Return resource actions in response
140
- # * {boolean} _links - Return resource link in response
141
- # * {boolean} _embedded - Return embedded resources in response
142
- #
143
- # Responses:
144
- # * 200 - Updated applicationKey information (https://api.losant.com/#/definitions/applicationKey)
145
- #
146
- # Errors:
147
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
148
- # * 404 - Error if applicationKey was not found (https://api.losant.com/#/definitions/error)
149
- def patch(params = {})
150
- params = Utils.symbolize_hash_keys(params)
151
- query_params = { _actions: false, _links: true, _embedded: true }
152
- headers = {}
153
- body = nil
154
-
155
- raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
156
- raise ArgumentError.new("applicationKeyId is required") unless params.has_key?(:applicationKeyId)
157
- raise ArgumentError.new("applicationKey is required") unless params.has_key?(:applicationKey)
158
-
159
- body = params[:applicationKey] if params.has_key?(:applicationKey)
160
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
161
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
162
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
163
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
164
-
165
- path = "/applications/#{params[:applicationId]}/keys/#{params[:applicationKeyId]}"
166
-
167
- @client.request(
168
- method: :patch,
169
- path: path,
170
- query: query_params,
171
- headers: headers,
172
- body: body)
173
- end
174
-
175
- end
176
- end
@@ -1,141 +0,0 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2023 Losant IoT, Inc.
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
- require "json"
24
-
25
- module LosantRest
26
-
27
- # Class containing all the actions for the Application Keys Resource
28
- class ApplicationKeys
29
-
30
- def initialize(client)
31
- @client = client
32
- end
33
-
34
- # Returns the applicationKeys for an application
35
- #
36
- # Authentication:
37
- # The client must be configured with a valid api
38
- # access token to call this action. The token
39
- # must include at least one of the following scopes:
40
- # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, applicationKeys.*, or applicationKeys.get.
41
- #
42
- # Parameters:
43
- # * {string} applicationId - ID associated with the application
44
- # * {string} sortField - Field to sort the results by. Accepted values are: key, status, id, creationDate, lastUpdated
45
- # * {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc
46
- # * {string} page - Which page of results to return
47
- # * {string} perPage - How many items to return per page
48
- # * {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: key, status
49
- # * {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
50
- # * {hash} query - Application key filter JSON object which overrides the filterField and filter parameters. (https://api.losant.com/#/definitions/advancedApplicationKeyQuery)
51
- # * {string} losantdomain - Domain scope of request (rarely needed)
52
- # * {boolean} _actions - Return resource actions in response
53
- # * {boolean} _links - Return resource link in response
54
- # * {boolean} _embedded - Return embedded resources in response
55
- #
56
- # Responses:
57
- # * 200 - Collection of applicationKeys (https://api.losant.com/#/definitions/applicationKeys)
58
- #
59
- # Errors:
60
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
61
- # * 404 - Error if application was not found (https://api.losant.com/#/definitions/error)
62
- def get(params = {})
63
- params = Utils.symbolize_hash_keys(params)
64
- query_params = { _actions: false, _links: true, _embedded: true }
65
- headers = {}
66
- body = nil
67
-
68
- raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
69
-
70
- query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
71
- query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
72
- query_params[:page] = params[:page] if params.has_key?(:page)
73
- query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
74
- query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
75
- query_params[:filter] = params[:filter] if params.has_key?(:filter)
76
- query_params[:query] = params[:query] if params.has_key?(:query)
77
- query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
78
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
79
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
80
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
81
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
82
-
83
- path = "/applications/#{params[:applicationId]}/keys"
84
-
85
- @client.request(
86
- method: :get,
87
- path: path,
88
- query: query_params,
89
- headers: headers,
90
- body: body)
91
- end
92
-
93
- # Create a new applicationKey for an application
94
- #
95
- # Authentication:
96
- # The client must be configured with a valid api
97
- # access token to call this action. The token
98
- # must include at least one of the following scopes:
99
- # all.Application, all.Organization, all.User, applicationKeys.*, or applicationKeys.post.
100
- #
101
- # Parameters:
102
- # * {string} applicationId - ID associated with the application
103
- # * {hash} applicationKey - ApplicationKey information (https://api.losant.com/#/definitions/applicationKeyPost)
104
- # * {string} losantdomain - Domain scope of request (rarely needed)
105
- # * {boolean} _actions - Return resource actions in response
106
- # * {boolean} _links - Return resource link in response
107
- # * {boolean} _embedded - Return embedded resources in response
108
- #
109
- # Responses:
110
- # * 201 - Successfully created applicationKey (https://api.losant.com/#/definitions/applicationKeyPostResponse)
111
- #
112
- # Errors:
113
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
114
- # * 404 - Error if application was not found (https://api.losant.com/#/definitions/error)
115
- def post(params = {})
116
- params = Utils.symbolize_hash_keys(params)
117
- query_params = { _actions: false, _links: true, _embedded: true }
118
- headers = {}
119
- body = nil
120
-
121
- raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
122
- raise ArgumentError.new("applicationKey is required") unless params.has_key?(:applicationKey)
123
-
124
- body = params[:applicationKey] if params.has_key?(:applicationKey)
125
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
126
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
127
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
128
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
129
-
130
- path = "/applications/#{params[:applicationId]}/keys"
131
-
132
- @client.request(
133
- method: :post,
134
- path: path,
135
- query: query_params,
136
- headers: headers,
137
- body: body)
138
- end
139
-
140
- end
141
- end
@@ -1,176 +0,0 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2023 Losant IoT, Inc.
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
- require "json"
24
-
25
- module LosantRest
26
-
27
- # Class containing all the actions for the Application Templates Resource
28
- class ApplicationTemplates
29
-
30
- def initialize(client)
31
- @client = client
32
- end
33
-
34
- # Returns the application templates the current user has permission to see
35
- #
36
- # Authentication:
37
- # The client must be configured with a valid api
38
- # access token to call this action. The token
39
- # must include at least one of the following scopes:
40
- # all.User, all.User.read, applicationTemplates.*, or applicationTemplates.get.
41
- #
42
- # Parameters:
43
- # * {string} sortField - Field to sort the results by. Accepted values are: name, id, creationDate, lastUpdated
44
- # * {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc
45
- # * {string} page - Which page of results to return
46
- # * {string} perPage - How many items to return per page
47
- # * {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: name, authorName
48
- # * {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
49
- # * {array} keywords - List of keywords to filter by. Matches all provided keywords.
50
- # * {string} categoryId - ID of a category to filter by.
51
- # * {string} losantdomain - Domain scope of request (rarely needed)
52
- # * {boolean} _actions - Return resource actions in response
53
- # * {boolean} _links - Return resource link in response
54
- # * {boolean} _embedded - Return embedded resources in response
55
- #
56
- # Responses:
57
- # * 200 - Collection of application templates (https://api.losant.com/#/definitions/applicationTemplates)
58
- #
59
- # Errors:
60
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
61
- def get(params = {})
62
- params = Utils.symbolize_hash_keys(params)
63
- query_params = { _actions: false, _links: true, _embedded: true }
64
- headers = {}
65
- body = nil
66
-
67
-
68
- query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
69
- query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
70
- query_params[:page] = params[:page] if params.has_key?(:page)
71
- query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
72
- query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
73
- query_params[:filter] = params[:filter] if params.has_key?(:filter)
74
- query_params[:keywords] = params[:keywords] if params.has_key?(:keywords)
75
- query_params[:categoryId] = params[:categoryId] if params.has_key?(:categoryId)
76
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
77
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
78
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
79
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
80
-
81
- path = "/applicationTemplates"
82
-
83
- @client.request(
84
- method: :get,
85
- path: path,
86
- query: query_params,
87
- headers: headers,
88
- body: body)
89
- end
90
-
91
- # Returns a category list, beginning at the specified category
92
- #
93
- # Authentication:
94
- # The client must be configured with a valid api
95
- # access token to call this action. The token
96
- # must include at least one of the following scopes:
97
- # all.User, all.User.read, applicationTemplates.*, or applicationTemplates.getCategories.
98
- #
99
- # Parameters:
100
- # * {string} baseId - ID of the category to begin from
101
- # * {string} losantdomain - Domain scope of request (rarely needed)
102
- # * {boolean} _actions - Return resource actions in response
103
- # * {boolean} _links - Return resource link in response
104
- # * {boolean} _embedded - Return embedded resources in response
105
- #
106
- # Responses:
107
- # * 200 - Collection of application categories (https://api.losant.com/#/definitions/applicationTemplateCategories)
108
- #
109
- # Errors:
110
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
111
- def get_categories(params = {})
112
- params = Utils.symbolize_hash_keys(params)
113
- query_params = { _actions: false, _links: true, _embedded: true }
114
- headers = {}
115
- body = nil
116
-
117
-
118
- query_params[:baseId] = params[:baseId] if params.has_key?(:baseId)
119
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
120
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
121
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
122
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
123
-
124
- path = "/applicationTemplates/categories"
125
-
126
- @client.request(
127
- method: :get,
128
- path: path,
129
- query: query_params,
130
- headers: headers,
131
- body: body)
132
- end
133
-
134
- # Returns an array of all unique keywords currently in use by templates
135
- #
136
- # Authentication:
137
- # The client must be configured with a valid api
138
- # access token to call this action. The token
139
- # must include at least one of the following scopes:
140
- # all.User, all.User.read, applicationTemplates.*, or applicationTemplates.getUniqueKeywords.
141
- #
142
- # Parameters:
143
- # * {string} losantdomain - Domain scope of request (rarely needed)
144
- # * {boolean} _actions - Return resource actions in response
145
- # * {boolean} _links - Return resource link in response
146
- # * {boolean} _embedded - Return embedded resources in response
147
- #
148
- # Responses:
149
- # * 200 - Array of all unique template keywords (https://api.losant.com/#/definitions/templateKeywords)
150
- #
151
- # Errors:
152
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
153
- def get_unique_keywords(params = {})
154
- params = Utils.symbolize_hash_keys(params)
155
- query_params = { _actions: false, _links: true, _embedded: true }
156
- headers = {}
157
- body = nil
158
-
159
-
160
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
161
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
162
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
163
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
164
-
165
- path = "/applicationTemplates/keywords"
166
-
167
- @client.request(
168
- method: :get,
169
- path: path,
170
- query: query_params,
171
- headers: headers,
172
- body: body)
173
- end
174
-
175
- end
176
- end
@@ -1,142 +0,0 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2023 Losant IoT, Inc.
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
- require "json"
24
-
25
- module LosantRest
26
-
27
- # Class containing all the actions for the Applications Resource
28
- class Applications
29
-
30
- def initialize(client)
31
- @client = client
32
- end
33
-
34
- # Returns the applications the current user has permission to see
35
- #
36
- # Authentication:
37
- # The client must be configured with a valid api
38
- # access token to call this action. The token
39
- # must include at least one of the following scopes:
40
- # all.Organization, all.Organization.read, all.User, all.User.cli, all.User.read, applications.*, or applications.get.
41
- #
42
- # Parameters:
43
- # * {string} sortField - Field to sort the results by. Accepted values are: name, id, creationDate, ownerId, lastUpdated
44
- # * {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc
45
- # * {string} page - Which page of results to return
46
- # * {string} perPage - How many items to return per page
47
- # * {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: name
48
- # * {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
49
- # * {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.
50
- # * {string} summaryExclude - Comma-separated list of summary fields to exclude from application summary
51
- # * {string} summaryInclude - Comma-separated list of summary fields to include in application summary
52
- # * {string} losantdomain - Domain scope of request (rarely needed)
53
- # * {boolean} _actions - Return resource actions in response
54
- # * {boolean} _links - Return resource link in response
55
- # * {boolean} _embedded - Return embedded resources in response
56
- #
57
- # Responses:
58
- # * 200 - Collection of applications (https://api.losant.com/#/definitions/applications)
59
- #
60
- # Errors:
61
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
62
- def get(params = {})
63
- params = Utils.symbolize_hash_keys(params)
64
- query_params = { _actions: false, _links: true, _embedded: true }
65
- headers = {}
66
- body = nil
67
-
68
-
69
- query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
70
- query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
71
- query_params[:page] = params[:page] if params.has_key?(:page)
72
- query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
73
- query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
74
- query_params[:filter] = params[:filter] if params.has_key?(:filter)
75
- query_params[:orgId] = params[:orgId] if params.has_key?(:orgId)
76
- query_params[:summaryExclude] = params[:summaryExclude] if params.has_key?(:summaryExclude)
77
- query_params[:summaryInclude] = params[:summaryInclude] if params.has_key?(:summaryInclude)
78
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
79
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
80
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
81
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
82
-
83
- path = "/applications"
84
-
85
- @client.request(
86
- method: :get,
87
- path: path,
88
- query: query_params,
89
- headers: headers,
90
- body: body)
91
- end
92
-
93
- # Create a new application
94
- #
95
- # Authentication:
96
- # The client must be configured with a valid api
97
- # access token to call this action. The token
98
- # must include at least one of the following scopes:
99
- # all.Organization, all.User, applications.*, or applications.post.
100
- #
101
- # Parameters:
102
- # * {hash} application - New application information (https://api.losant.com/#/definitions/applicationPost)
103
- # * {string} summaryExclude - Comma-separated list of summary fields to exclude from application summary
104
- # * {string} summaryInclude - Comma-separated list of summary fields to include in application summary
105
- # * {string} losantdomain - Domain scope of request (rarely needed)
106
- # * {boolean} _actions - Return resource actions in response
107
- # * {boolean} _links - Return resource link in response
108
- # * {boolean} _embedded - Return embedded resources in response
109
- #
110
- # Responses:
111
- # * 201 - Successfully created application (https://api.losant.com/#/definitions/application)
112
- #
113
- # Errors:
114
- # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
115
- def post(params = {})
116
- params = Utils.symbolize_hash_keys(params)
117
- query_params = { _actions: false, _links: true, _embedded: true }
118
- headers = {}
119
- body = nil
120
-
121
- raise ArgumentError.new("application is required") unless params.has_key?(:application)
122
-
123
- body = params[:application] if params.has_key?(:application)
124
- query_params[:summaryExclude] = params[:summaryExclude] if params.has_key?(:summaryExclude)
125
- query_params[:summaryInclude] = params[:summaryInclude] if params.has_key?(:summaryInclude)
126
- headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
127
- query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
128
- query_params[:_links] = params[:_links] if params.has_key?(:_links)
129
- query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
130
-
131
- path = "/applications"
132
-
133
- @client.request(
134
- method: :post,
135
- path: path,
136
- query: query_params,
137
- headers: headers,
138
- body: body)
139
- end
140
-
141
- end
142
- end