losant_rest 1.9.2 → 1.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/docs/_schemas.md +38445 -24043
  3. data/docs/application.md +124 -2
  4. data/docs/applicationTemplates.md +50 -0
  5. data/docs/auth.md +72 -0
  6. data/docs/device.md +1 -0
  7. data/docs/devices.md +92 -3
  8. data/docs/experienceEndpoints.md +1 -0
  9. data/docs/file.md +4 -4
  10. data/docs/flow.md +94 -1
  11. data/docs/flowVersion.md +96 -1
  12. data/lib/losant_rest.rb +1 -0
  13. data/lib/losant_rest/application.rb +93 -2
  14. data/lib/losant_rest/application_templates.rb +88 -0
  15. data/lib/losant_rest/auth.rb +84 -0
  16. data/lib/losant_rest/client.rb +6 -2
  17. data/lib/losant_rest/device.rb +2 -0
  18. data/lib/losant_rest/devices.rb +105 -2
  19. data/lib/losant_rest/experience_endpoints.rb +2 -0
  20. data/lib/losant_rest/file.rb +3 -3
  21. data/lib/losant_rest/flow.rb +115 -1
  22. data/lib/losant_rest/flow_version.rb +115 -1
  23. data/lib/losant_rest/version.rb +2 -2
  24. data/schemas/advancedDeviceQuery.json +1018 -0
  25. data/schemas/advancedEventQuery.json +382 -13
  26. data/schemas/advancedQuery.json +37 -3
  27. data/schemas/application.json +7 -2
  28. data/schemas/applicationApiTokenPost.json +8 -1
  29. data/schemas/applicationCreationByTemplateResult.json +7 -2
  30. data/schemas/applicationPatch.json +7 -2
  31. data/schemas/applicationPost.json +11 -2
  32. data/schemas/applicationReadme.json +29 -0
  33. data/schemas/applicationReadmePatch.json +11 -0
  34. data/schemas/applicationTemplate.json +99 -0
  35. data/schemas/applicationTemplates.json +140 -0
  36. data/schemas/applications.json +7 -2
  37. data/schemas/dashboard.json +1168 -144
  38. data/schemas/dashboardPatch.json +1168 -144
  39. data/schemas/dashboardPost.json +1168 -144
  40. data/schemas/dashboards.json +1168 -144
  41. data/schemas/dataExport.json +11 -0
  42. data/schemas/dataTableRows.json +3 -0
  43. data/schemas/dataTableRowsExport.json +37 -3
  44. data/schemas/device.json +16 -3
  45. data/schemas/devicePatch.json +16 -3
  46. data/schemas/devicePost.json +16 -3
  47. data/schemas/deviceRecipe.json +16 -3
  48. data/schemas/deviceRecipePatch.json +16 -3
  49. data/schemas/deviceRecipePost.json +16 -3
  50. data/schemas/deviceRecipes.json +16 -3
  51. data/schemas/devices.json +19 -3
  52. data/schemas/devicesDataRemoved.json +12 -0
  53. data/schemas/devicesDeletePost.json +1034 -0
  54. data/schemas/devicesDeleted.json +12 -0
  55. data/schemas/devicesExportPost.json +1035 -0
  56. data/schemas/devicesPatch.json +1773 -7
  57. data/schemas/devicesRemoveDataPost.json +1056 -0
  58. data/schemas/devicesUpdated.json +18 -0
  59. data/schemas/eventPost.json +22 -0
  60. data/schemas/events.json +1 -816
  61. data/schemas/eventsExport.json +382 -13
  62. data/schemas/experienceDomain.json +1 -1
  63. data/schemas/experienceDomainPatch.json +1 -1
  64. data/schemas/experienceDomainPost.json +1 -1
  65. data/schemas/experienceDomains.json +1 -1
  66. data/schemas/experienceGroup.json +7 -0
  67. data/schemas/experienceGroupPatch.json +7 -0
  68. data/schemas/experienceGroupPost.json +7 -0
  69. data/schemas/experienceGroups.json +7 -0
  70. data/schemas/experienceLinkedResources.json +309 -3
  71. data/schemas/experienceVersion.json +1 -1
  72. data/schemas/experienceVersions.json +1 -1
  73. data/schemas/flow.json +103 -1
  74. data/schemas/flowErrors.json +87 -0
  75. data/schemas/flowPatch.json +103 -1
  76. data/schemas/flowPost.json +103 -1
  77. data/schemas/flowStats.json +54 -0
  78. data/schemas/flowVersion.json +206 -2
  79. data/schemas/flowVersionPost.json +103 -1
  80. data/schemas/flowVersions.json +206 -2
  81. data/schemas/flows.json +103 -1
  82. data/schemas/flowsImportPost.json +206 -2
  83. data/schemas/flowsImportResult.json +309 -3
  84. data/schemas/githubLogin.json +10 -1
  85. data/schemas/me.json +3 -0
  86. data/schemas/multiDeviceCommand.json +1019 -0
  87. data/schemas/notebook.json +99 -2
  88. data/schemas/notebookPatch.json +99 -2
  89. data/schemas/notebookPost.json +99 -2
  90. data/schemas/notebooks.json +99 -2
  91. data/schemas/org.json +8 -0
  92. data/schemas/orgPatch.json +9 -0
  93. data/schemas/orgs.json +8 -0
  94. data/schemas/samlResponse.json +21 -0
  95. data/schemas/ssoRequest.json +20 -0
  96. data/schemas/timeSeriesData.json +91 -12
  97. data/schemas/timeSeriesQuery.json +21 -12
  98. data/schemas/userCredentials.json +10 -1
  99. data/schemas/userPost.json +10 -1
  100. metadata +20 -4
@@ -79,6 +79,64 @@ module LosantRest
79
79
  body: body)
80
80
  end
81
81
 
82
+ # Get information about errors that occurred during runs of this workflow version
83
+ #
84
+ # Authentication:
85
+ # The client must be configured with a valid api
86
+ # access token to call this action. The token
87
+ # must include at least one of the following scopes:
88
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, flowVersion.*, or flowVersion.errors.
89
+ #
90
+ # Parameters:
91
+ # * {string} applicationId - ID associated with the application
92
+ # * {string} flowId - ID associated with the flow
93
+ # * {string} flowVersionId - Version ID or version name associated with the flow version
94
+ # * {string} duration - Duration of time range in milliseconds
95
+ # * {string} end - End of time range in milliseconds since epoch
96
+ # * {string} limit - Maximum number of errors to return
97
+ # * {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc
98
+ # * {string} deviceId - For edge workflows, the Device ID to return workflow errors for. When not included, will be errors for all device IDs.
99
+ # * {string} losantdomain - Domain scope of request (rarely needed)
100
+ # * {boolean} _actions - Return resource actions in response
101
+ # * {boolean} _links - Return resource link in response
102
+ # * {boolean} _embedded - Return embedded resources in response
103
+ #
104
+ # Responses:
105
+ # * 200 - Workflow error information (https://api.losant.com/#/definitions/flowErrors)
106
+ #
107
+ # Errors:
108
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
109
+ # * 404 - Error if flow version was not found (https://api.losant.com/#/definitions/error)
110
+ def errors(params = {})
111
+ params = Utils.symbolize_hash_keys(params)
112
+ query_params = { _actions: false, _links: true, _embedded: true }
113
+ headers = {}
114
+ body = nil
115
+
116
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
117
+ raise ArgumentError.new("flowId is required") unless params.has_key?(:flowId)
118
+ raise ArgumentError.new("flowVersionId is required") unless params.has_key?(:flowVersionId)
119
+
120
+ query_params[:duration] = params[:duration] if params.has_key?(:duration)
121
+ query_params[:end] = params[:end] if params.has_key?(:end)
122
+ query_params[:limit] = params[:limit] if params.has_key?(:limit)
123
+ query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
124
+ query_params[:deviceId] = params[:deviceId] if params.has_key?(:deviceId)
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]}/flows/#{params[:flowId]}/versions/#{params[:flowVersionId]}/errors"
131
+
132
+ @client.request(
133
+ method: :get,
134
+ path: path,
135
+ query: query_params,
136
+ headers: headers,
137
+ body: body)
138
+ end
139
+
82
140
  # Retrieves information on a flow version
83
141
  #
84
142
  # Authentication:
@@ -153,7 +211,7 @@ module LosantRest
153
211
  #
154
212
  # Errors:
155
213
  # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
156
- # * 404 - Error if device was not found (https://api.losant.com/#/definitions/error)
214
+ # * 404 - Error if flow version was not found (https://api.losant.com/#/definitions/error)
157
215
  def get_log_entries(params = {})
158
216
  params = Utils.symbolize_hash_keys(params)
159
217
  query_params = { _actions: false, _links: true, _embedded: true }
@@ -234,5 +292,61 @@ module LosantRest
234
292
  body: body)
235
293
  end
236
294
 
295
+ # Get statistics about workflow runs for this workflow version
296
+ #
297
+ # Authentication:
298
+ # The client must be configured with a valid api
299
+ # access token to call this action. The token
300
+ # must include at least one of the following scopes:
301
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, flowVersion.*, or flowVersion.stats.
302
+ #
303
+ # Parameters:
304
+ # * {string} applicationId - ID associated with the application
305
+ # * {string} flowId - ID associated with the flow
306
+ # * {string} flowVersionId - Version ID or version name associated with the flow version
307
+ # * {string} duration - Duration of time range in milliseconds
308
+ # * {string} end - End of time range in milliseconds since epoch
309
+ # * {string} resolution - Resolution in milliseconds
310
+ # * {string} deviceId - For edge workflows, the device ID to return workflow stats for. When not included, will be aggregate for all device IDs.
311
+ # * {string} losantdomain - Domain scope of request (rarely needed)
312
+ # * {boolean} _actions - Return resource actions in response
313
+ # * {boolean} _links - Return resource link in response
314
+ # * {boolean} _embedded - Return embedded resources in response
315
+ #
316
+ # Responses:
317
+ # * 200 - Statistics for workflow runs (https://api.losant.com/#/definitions/flowStats)
318
+ #
319
+ # Errors:
320
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
321
+ # * 404 - Error if flow version was not found (https://api.losant.com/#/definitions/error)
322
+ def stats(params = {})
323
+ params = Utils.symbolize_hash_keys(params)
324
+ query_params = { _actions: false, _links: true, _embedded: true }
325
+ headers = {}
326
+ body = nil
327
+
328
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
329
+ raise ArgumentError.new("flowId is required") unless params.has_key?(:flowId)
330
+ raise ArgumentError.new("flowVersionId is required") unless params.has_key?(:flowVersionId)
331
+
332
+ query_params[:duration] = params[:duration] if params.has_key?(:duration)
333
+ query_params[:end] = params[:end] if params.has_key?(:end)
334
+ query_params[:resolution] = params[:resolution] if params.has_key?(:resolution)
335
+ query_params[:deviceId] = params[:deviceId] if params.has_key?(:deviceId)
336
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
337
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
338
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
339
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
340
+
341
+ path = "/applications/#{params[:applicationId]}/flows/#{params[:flowId]}/versions/#{params[:flowVersionId]}/stats"
342
+
343
+ @client.request(
344
+ method: :get,
345
+ path: path,
346
+ query: query_params,
347
+ headers: headers,
348
+ body: body)
349
+ end
350
+
237
351
  end
238
352
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -21,5 +21,5 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  module LosantRest
24
- VERSION = "1.9.2"
24
+ VERSION = "1.10.3"
25
25
  end
@@ -0,0 +1,1018 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "$and": {
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "#/definitions/advancedDeviceQuery"
9
+ },
10
+ "maxItems": 100
11
+ },
12
+ "$or": {
13
+ "type": "array",
14
+ "items": {
15
+ "$ref": "#/definitions/advancedDeviceQuery"
16
+ },
17
+ "maxItems": 100
18
+ },
19
+ "$nor": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/advancedDeviceQuery"
23
+ },
24
+ "maxItems": 100
25
+ },
26
+ "id": {
27
+ "oneOf": [
28
+ {
29
+ "oneOf": [
30
+ {
31
+ "type": "string",
32
+ "pattern": "^[A-Fa-f\\d]{24}$"
33
+ },
34
+ {
35
+ "type": "null"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "type": "object",
41
+ "properties": {
42
+ "$eq": {
43
+ "oneOf": [
44
+ {
45
+ "type": "string",
46
+ "pattern": "^[A-Fa-f\\d]{24}$"
47
+ },
48
+ {
49
+ "type": "null"
50
+ }
51
+ ]
52
+ },
53
+ "$ne": {
54
+ "oneOf": [
55
+ {
56
+ "type": "string",
57
+ "pattern": "^[A-Fa-f\\d]{24}$"
58
+ },
59
+ {
60
+ "type": "null"
61
+ }
62
+ ]
63
+ },
64
+ "$in": {
65
+ "type": "array",
66
+ "maxItems": 100,
67
+ "items": {
68
+ "type": "string",
69
+ "pattern": "^[A-Fa-f\\d]{24}$"
70
+ }
71
+ },
72
+ "$nin": {
73
+ "type": "array",
74
+ "maxItems": 100,
75
+ "items": {
76
+ "type": "string",
77
+ "pattern": "^[A-Fa-f\\d]{24}$"
78
+ }
79
+ }
80
+ },
81
+ "additionalProperties": false,
82
+ "minProperties": 1,
83
+ "maxProperties": 1
84
+ }
85
+ ]
86
+ },
87
+ "creationDate": {
88
+ "oneOf": [
89
+ {
90
+ "type": [
91
+ "string",
92
+ "number",
93
+ "boolean",
94
+ "null"
95
+ ]
96
+ },
97
+ {
98
+ "type": "object",
99
+ "properties": {
100
+ "$eq": {
101
+ "type": [
102
+ "string",
103
+ "number",
104
+ "boolean",
105
+ "null"
106
+ ]
107
+ },
108
+ "$ne": {
109
+ "type": [
110
+ "string",
111
+ "number",
112
+ "boolean",
113
+ "null"
114
+ ]
115
+ },
116
+ "$gt": {
117
+ "type": [
118
+ "string",
119
+ "number",
120
+ "boolean",
121
+ "null"
122
+ ]
123
+ },
124
+ "$lt": {
125
+ "type": [
126
+ "string",
127
+ "number",
128
+ "boolean",
129
+ "null"
130
+ ]
131
+ },
132
+ "$gte": {
133
+ "type": [
134
+ "string",
135
+ "number",
136
+ "boolean",
137
+ "null"
138
+ ]
139
+ },
140
+ "$lte": {
141
+ "type": [
142
+ "string",
143
+ "number",
144
+ "boolean",
145
+ "null"
146
+ ]
147
+ },
148
+ "$startsWith": {
149
+ "type": "string",
150
+ "minLength": 1
151
+ },
152
+ "$endsWith": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ },
156
+ "$contains": {
157
+ "type": "string",
158
+ "minLength": 1
159
+ },
160
+ "$ci": {
161
+ "type": "boolean"
162
+ },
163
+ "$in": {
164
+ "type": "array",
165
+ "maxItems": 100,
166
+ "items": {
167
+ "type": [
168
+ "string",
169
+ "number",
170
+ "boolean"
171
+ ]
172
+ }
173
+ },
174
+ "$nin": {
175
+ "type": "array",
176
+ "maxItems": 100,
177
+ "items": {
178
+ "type": [
179
+ "string",
180
+ "number",
181
+ "boolean"
182
+ ]
183
+ }
184
+ }
185
+ },
186
+ "additionalProperties": false
187
+ }
188
+ ]
189
+ },
190
+ "lastUpdated": {
191
+ "oneOf": [
192
+ {
193
+ "type": [
194
+ "string",
195
+ "number",
196
+ "boolean",
197
+ "null"
198
+ ]
199
+ },
200
+ {
201
+ "type": "object",
202
+ "properties": {
203
+ "$eq": {
204
+ "type": [
205
+ "string",
206
+ "number",
207
+ "boolean",
208
+ "null"
209
+ ]
210
+ },
211
+ "$ne": {
212
+ "type": [
213
+ "string",
214
+ "number",
215
+ "boolean",
216
+ "null"
217
+ ]
218
+ },
219
+ "$gt": {
220
+ "type": [
221
+ "string",
222
+ "number",
223
+ "boolean",
224
+ "null"
225
+ ]
226
+ },
227
+ "$lt": {
228
+ "type": [
229
+ "string",
230
+ "number",
231
+ "boolean",
232
+ "null"
233
+ ]
234
+ },
235
+ "$gte": {
236
+ "type": [
237
+ "string",
238
+ "number",
239
+ "boolean",
240
+ "null"
241
+ ]
242
+ },
243
+ "$lte": {
244
+ "type": [
245
+ "string",
246
+ "number",
247
+ "boolean",
248
+ "null"
249
+ ]
250
+ },
251
+ "$startsWith": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "$endsWith": {
256
+ "type": "string",
257
+ "minLength": 1
258
+ },
259
+ "$contains": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ },
263
+ "$ci": {
264
+ "type": "boolean"
265
+ },
266
+ "$in": {
267
+ "type": "array",
268
+ "maxItems": 100,
269
+ "items": {
270
+ "type": [
271
+ "string",
272
+ "number",
273
+ "boolean"
274
+ ]
275
+ }
276
+ },
277
+ "$nin": {
278
+ "type": "array",
279
+ "maxItems": 100,
280
+ "items": {
281
+ "type": [
282
+ "string",
283
+ "number",
284
+ "boolean"
285
+ ]
286
+ }
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ }
291
+ ]
292
+ },
293
+ "name": {
294
+ "oneOf": [
295
+ {
296
+ "type": [
297
+ "string",
298
+ "number",
299
+ "boolean",
300
+ "null"
301
+ ]
302
+ },
303
+ {
304
+ "type": "object",
305
+ "properties": {
306
+ "$eq": {
307
+ "type": [
308
+ "string",
309
+ "number",
310
+ "boolean",
311
+ "null"
312
+ ]
313
+ },
314
+ "$ne": {
315
+ "type": [
316
+ "string",
317
+ "number",
318
+ "boolean",
319
+ "null"
320
+ ]
321
+ },
322
+ "$gt": {
323
+ "type": [
324
+ "string",
325
+ "number",
326
+ "boolean",
327
+ "null"
328
+ ]
329
+ },
330
+ "$lt": {
331
+ "type": [
332
+ "string",
333
+ "number",
334
+ "boolean",
335
+ "null"
336
+ ]
337
+ },
338
+ "$gte": {
339
+ "type": [
340
+ "string",
341
+ "number",
342
+ "boolean",
343
+ "null"
344
+ ]
345
+ },
346
+ "$lte": {
347
+ "type": [
348
+ "string",
349
+ "number",
350
+ "boolean",
351
+ "null"
352
+ ]
353
+ },
354
+ "$startsWith": {
355
+ "type": "string",
356
+ "minLength": 1
357
+ },
358
+ "$endsWith": {
359
+ "type": "string",
360
+ "minLength": 1
361
+ },
362
+ "$contains": {
363
+ "type": "string",
364
+ "minLength": 1
365
+ },
366
+ "$ci": {
367
+ "type": "boolean"
368
+ },
369
+ "$in": {
370
+ "type": "array",
371
+ "maxItems": 100,
372
+ "items": {
373
+ "type": [
374
+ "string",
375
+ "number",
376
+ "boolean"
377
+ ]
378
+ }
379
+ },
380
+ "$nin": {
381
+ "type": "array",
382
+ "maxItems": 100,
383
+ "items": {
384
+ "type": [
385
+ "string",
386
+ "number",
387
+ "boolean"
388
+ ]
389
+ }
390
+ }
391
+ },
392
+ "additionalProperties": false
393
+ }
394
+ ]
395
+ },
396
+ "deviceClass": {
397
+ "oneOf": [
398
+ {
399
+ "type": [
400
+ "string",
401
+ "number",
402
+ "boolean",
403
+ "null"
404
+ ]
405
+ },
406
+ {
407
+ "type": "object",
408
+ "properties": {
409
+ "$eq": {
410
+ "type": [
411
+ "string",
412
+ "number",
413
+ "boolean",
414
+ "null"
415
+ ]
416
+ },
417
+ "$ne": {
418
+ "type": [
419
+ "string",
420
+ "number",
421
+ "boolean",
422
+ "null"
423
+ ]
424
+ },
425
+ "$gt": {
426
+ "type": [
427
+ "string",
428
+ "number",
429
+ "boolean",
430
+ "null"
431
+ ]
432
+ },
433
+ "$lt": {
434
+ "type": [
435
+ "string",
436
+ "number",
437
+ "boolean",
438
+ "null"
439
+ ]
440
+ },
441
+ "$gte": {
442
+ "type": [
443
+ "string",
444
+ "number",
445
+ "boolean",
446
+ "null"
447
+ ]
448
+ },
449
+ "$lte": {
450
+ "type": [
451
+ "string",
452
+ "number",
453
+ "boolean",
454
+ "null"
455
+ ]
456
+ },
457
+ "$startsWith": {
458
+ "type": "string",
459
+ "minLength": 1
460
+ },
461
+ "$endsWith": {
462
+ "type": "string",
463
+ "minLength": 1
464
+ },
465
+ "$contains": {
466
+ "type": "string",
467
+ "minLength": 1
468
+ },
469
+ "$ci": {
470
+ "type": "boolean"
471
+ },
472
+ "$in": {
473
+ "type": "array",
474
+ "maxItems": 100,
475
+ "items": {
476
+ "type": [
477
+ "string",
478
+ "number",
479
+ "boolean"
480
+ ]
481
+ }
482
+ },
483
+ "$nin": {
484
+ "type": "array",
485
+ "maxItems": 100,
486
+ "items": {
487
+ "type": [
488
+ "string",
489
+ "number",
490
+ "boolean"
491
+ ]
492
+ }
493
+ }
494
+ },
495
+ "additionalProperties": false
496
+ }
497
+ ]
498
+ },
499
+ "gatewayId": {
500
+ "oneOf": [
501
+ {
502
+ "oneOf": [
503
+ {
504
+ "type": "string",
505
+ "pattern": "^[A-Fa-f\\d]{24}$"
506
+ },
507
+ {
508
+ "type": "null"
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "type": "object",
514
+ "properties": {
515
+ "$eq": {
516
+ "oneOf": [
517
+ {
518
+ "type": "string",
519
+ "pattern": "^[A-Fa-f\\d]{24}$"
520
+ },
521
+ {
522
+ "type": "null"
523
+ }
524
+ ]
525
+ },
526
+ "$ne": {
527
+ "oneOf": [
528
+ {
529
+ "type": "string",
530
+ "pattern": "^[A-Fa-f\\d]{24}$"
531
+ },
532
+ {
533
+ "type": "null"
534
+ }
535
+ ]
536
+ },
537
+ "$in": {
538
+ "type": "array",
539
+ "maxItems": 100,
540
+ "items": {
541
+ "type": "string",
542
+ "pattern": "^[A-Fa-f\\d]{24}$"
543
+ }
544
+ },
545
+ "$nin": {
546
+ "type": "array",
547
+ "maxItems": 100,
548
+ "items": {
549
+ "type": "string",
550
+ "pattern": "^[A-Fa-f\\d]{24}$"
551
+ }
552
+ }
553
+ },
554
+ "additionalProperties": false,
555
+ "minProperties": 1,
556
+ "maxProperties": 1
557
+ }
558
+ ]
559
+ },
560
+ "parentId": {
561
+ "oneOf": [
562
+ {
563
+ "oneOf": [
564
+ {
565
+ "type": "string",
566
+ "pattern": "^[A-Fa-f\\d]{24}$"
567
+ },
568
+ {
569
+ "type": "null"
570
+ }
571
+ ]
572
+ },
573
+ {
574
+ "type": "object",
575
+ "properties": {
576
+ "$eq": {
577
+ "oneOf": [
578
+ {
579
+ "type": "string",
580
+ "pattern": "^[A-Fa-f\\d]{24}$"
581
+ },
582
+ {
583
+ "type": "null"
584
+ }
585
+ ]
586
+ },
587
+ "$ne": {
588
+ "oneOf": [
589
+ {
590
+ "type": "string",
591
+ "pattern": "^[A-Fa-f\\d]{24}$"
592
+ },
593
+ {
594
+ "type": "null"
595
+ }
596
+ ]
597
+ },
598
+ "$in": {
599
+ "type": "array",
600
+ "maxItems": 100,
601
+ "items": {
602
+ "type": "string",
603
+ "pattern": "^[A-Fa-f\\d]{24}$"
604
+ }
605
+ },
606
+ "$nin": {
607
+ "type": "array",
608
+ "maxItems": 100,
609
+ "items": {
610
+ "type": "string",
611
+ "pattern": "^[A-Fa-f\\d]{24}$"
612
+ }
613
+ }
614
+ },
615
+ "additionalProperties": false,
616
+ "minProperties": 1,
617
+ "maxProperties": 1
618
+ }
619
+ ]
620
+ },
621
+ "ancestorId": {
622
+ "oneOf": [
623
+ {
624
+ "oneOf": [
625
+ {
626
+ "type": "string",
627
+ "pattern": "^[A-Fa-f\\d]{24}$"
628
+ },
629
+ {
630
+ "type": "null"
631
+ }
632
+ ]
633
+ },
634
+ {
635
+ "type": "object",
636
+ "properties": {
637
+ "$eq": {
638
+ "oneOf": [
639
+ {
640
+ "type": "string",
641
+ "pattern": "^[A-Fa-f\\d]{24}$"
642
+ },
643
+ {
644
+ "type": "null"
645
+ }
646
+ ]
647
+ },
648
+ "$ne": {
649
+ "oneOf": [
650
+ {
651
+ "type": "string",
652
+ "pattern": "^[A-Fa-f\\d]{24}$"
653
+ },
654
+ {
655
+ "type": "null"
656
+ }
657
+ ]
658
+ },
659
+ "$in": {
660
+ "type": "array",
661
+ "maxItems": 100,
662
+ "items": {
663
+ "type": "string",
664
+ "pattern": "^[A-Fa-f\\d]{24}$"
665
+ }
666
+ },
667
+ "$nin": {
668
+ "type": "array",
669
+ "maxItems": 100,
670
+ "items": {
671
+ "type": "string",
672
+ "pattern": "^[A-Fa-f\\d]{24}$"
673
+ }
674
+ }
675
+ },
676
+ "additionalProperties": false,
677
+ "minProperties": 1,
678
+ "maxProperties": 1
679
+ }
680
+ ]
681
+ },
682
+ "attributeName": {
683
+ "oneOf": [
684
+ {
685
+ "type": [
686
+ "string",
687
+ "number",
688
+ "boolean",
689
+ "null"
690
+ ]
691
+ },
692
+ {
693
+ "type": "object",
694
+ "properties": {
695
+ "$eq": {
696
+ "type": [
697
+ "string",
698
+ "number",
699
+ "boolean",
700
+ "null"
701
+ ]
702
+ },
703
+ "$ne": {
704
+ "type": [
705
+ "string",
706
+ "number",
707
+ "boolean",
708
+ "null"
709
+ ]
710
+ },
711
+ "$gt": {
712
+ "type": [
713
+ "string",
714
+ "number",
715
+ "boolean",
716
+ "null"
717
+ ]
718
+ },
719
+ "$lt": {
720
+ "type": [
721
+ "string",
722
+ "number",
723
+ "boolean",
724
+ "null"
725
+ ]
726
+ },
727
+ "$gte": {
728
+ "type": [
729
+ "string",
730
+ "number",
731
+ "boolean",
732
+ "null"
733
+ ]
734
+ },
735
+ "$lte": {
736
+ "type": [
737
+ "string",
738
+ "number",
739
+ "boolean",
740
+ "null"
741
+ ]
742
+ },
743
+ "$startsWith": {
744
+ "type": "string",
745
+ "minLength": 1
746
+ },
747
+ "$endsWith": {
748
+ "type": "string",
749
+ "minLength": 1
750
+ },
751
+ "$contains": {
752
+ "type": "string",
753
+ "minLength": 1
754
+ },
755
+ "$ci": {
756
+ "type": "boolean"
757
+ },
758
+ "$in": {
759
+ "type": "array",
760
+ "maxItems": 100,
761
+ "items": {
762
+ "type": [
763
+ "string",
764
+ "number",
765
+ "boolean"
766
+ ]
767
+ }
768
+ },
769
+ "$nin": {
770
+ "type": "array",
771
+ "maxItems": 100,
772
+ "items": {
773
+ "type": [
774
+ "string",
775
+ "number",
776
+ "boolean"
777
+ ]
778
+ }
779
+ }
780
+ },
781
+ "additionalProperties": false
782
+ }
783
+ ]
784
+ },
785
+ "experienceUserId": {
786
+ "oneOf": [
787
+ {
788
+ "oneOf": [
789
+ {
790
+ "type": "string",
791
+ "pattern": "^[A-Fa-f\\d]{24}$"
792
+ },
793
+ {
794
+ "type": "null"
795
+ }
796
+ ]
797
+ },
798
+ {
799
+ "type": "object",
800
+ "properties": {
801
+ "$eq": {
802
+ "oneOf": [
803
+ {
804
+ "type": "string",
805
+ "pattern": "^[A-Fa-f\\d]{24}$"
806
+ },
807
+ {
808
+ "type": "null"
809
+ }
810
+ ]
811
+ },
812
+ "$ne": {
813
+ "oneOf": [
814
+ {
815
+ "type": "string",
816
+ "pattern": "^[A-Fa-f\\d]{24}$"
817
+ },
818
+ {
819
+ "type": "null"
820
+ }
821
+ ]
822
+ },
823
+ "$in": {
824
+ "type": "array",
825
+ "maxItems": 100,
826
+ "items": {
827
+ "type": "string",
828
+ "pattern": "^[A-Fa-f\\d]{24}$"
829
+ }
830
+ },
831
+ "$nin": {
832
+ "type": "array",
833
+ "maxItems": 100,
834
+ "items": {
835
+ "type": "string",
836
+ "pattern": "^[A-Fa-f\\d]{24}$"
837
+ }
838
+ }
839
+ },
840
+ "additionalProperties": false,
841
+ "minProperties": 1,
842
+ "maxProperties": 1
843
+ }
844
+ ]
845
+ },
846
+ "experienceGroupId": {
847
+ "oneOf": [
848
+ {
849
+ "oneOf": [
850
+ {
851
+ "type": "string",
852
+ "pattern": "^[A-Fa-f\\d]{24}$"
853
+ },
854
+ {
855
+ "type": "null"
856
+ }
857
+ ]
858
+ },
859
+ {
860
+ "type": "object",
861
+ "properties": {
862
+ "$eq": {
863
+ "oneOf": [
864
+ {
865
+ "type": "string",
866
+ "pattern": "^[A-Fa-f\\d]{24}$"
867
+ },
868
+ {
869
+ "type": "null"
870
+ }
871
+ ]
872
+ },
873
+ "$ne": {
874
+ "oneOf": [
875
+ {
876
+ "type": "string",
877
+ "pattern": "^[A-Fa-f\\d]{24}$"
878
+ },
879
+ {
880
+ "type": "null"
881
+ }
882
+ ]
883
+ },
884
+ "$in": {
885
+ "type": "array",
886
+ "maxItems": 100,
887
+ "items": {
888
+ "type": "string",
889
+ "pattern": "^[A-Fa-f\\d]{24}$"
890
+ }
891
+ },
892
+ "$nin": {
893
+ "type": "array",
894
+ "maxItems": 100,
895
+ "items": {
896
+ "type": "string",
897
+ "pattern": "^[A-Fa-f\\d]{24}$"
898
+ }
899
+ }
900
+ },
901
+ "additionalProperties": false,
902
+ "minProperties": 1,
903
+ "maxProperties": 1
904
+ }
905
+ ]
906
+ },
907
+ "tags": {
908
+ "oneOf": [
909
+ {
910
+ "oneOf": [
911
+ {
912
+ "type": "object",
913
+ "properties": {
914
+ "$tagKey": {
915
+ "type": "string",
916
+ "maxLength": 255
917
+ },
918
+ "$tagValue": {
919
+ "type": "string",
920
+ "maxLength": 255
921
+ }
922
+ },
923
+ "additionalProperties": false,
924
+ "minProperties": 1
925
+ },
926
+ {
927
+ "type": "object",
928
+ "patternProperties": {
929
+ "^[0-9a-zA-Z_-]{1,255}": {
930
+ "type": "string",
931
+ "maxLength": 255
932
+ }
933
+ },
934
+ "additionalProperties": false
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ "type": "object",
940
+ "properties": {
941
+ "$eq": {
942
+ "oneOf": [
943
+ {
944
+ "type": "object",
945
+ "properties": {
946
+ "$tagKey": {
947
+ "type": "string",
948
+ "maxLength": 255
949
+ },
950
+ "$tagValue": {
951
+ "type": "string",
952
+ "maxLength": 255
953
+ }
954
+ },
955
+ "additionalProperties": false,
956
+ "minProperties": 1
957
+ },
958
+ {
959
+ "type": "object",
960
+ "patternProperties": {
961
+ "^[0-9a-zA-Z_-]{1,255}": {
962
+ "type": "string",
963
+ "maxLength": 255
964
+ }
965
+ },
966
+ "additionalProperties": false
967
+ }
968
+ ]
969
+ }
970
+ },
971
+ "required": [
972
+ "$eq"
973
+ ],
974
+ "additionalProperties": false
975
+ },
976
+ {
977
+ "type": "object",
978
+ "properties": {
979
+ "$ne": {
980
+ "oneOf": [
981
+ {
982
+ "type": "object",
983
+ "properties": {
984
+ "$tagKey": {
985
+ "type": "string",
986
+ "maxLength": 255
987
+ },
988
+ "$tagValue": {
989
+ "type": "string",
990
+ "maxLength": 255
991
+ }
992
+ },
993
+ "additionalProperties": false,
994
+ "minProperties": 1
995
+ },
996
+ {
997
+ "type": "object",
998
+ "patternProperties": {
999
+ "^[0-9a-zA-Z_-]{1,255}": {
1000
+ "type": "string",
1001
+ "maxLength": 255
1002
+ }
1003
+ },
1004
+ "additionalProperties": false
1005
+ }
1006
+ ]
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "$ne"
1011
+ ],
1012
+ "additionalProperties": false
1013
+ }
1014
+ ]
1015
+ }
1016
+ },
1017
+ "additionalProperties": false
1018
+ }