@reveldigital/mcp-graphql-proxy 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/bin/cli.d.ts +6 -0
  2. package/dist/bin/cli.d.ts.map +1 -0
  3. package/dist/bin/cli.js +7 -0
  4. package/dist/bin/cli.js.map +1 -0
  5. package/dist/core/cache.d.ts +61 -0
  6. package/dist/core/cache.d.ts.map +1 -0
  7. package/dist/core/cache.js +147 -0
  8. package/dist/core/cache.js.map +1 -0
  9. package/dist/core/graphql-client.d.ts +48 -0
  10. package/dist/core/graphql-client.d.ts.map +1 -0
  11. package/dist/core/graphql-client.js +210 -0
  12. package/dist/core/graphql-client.js.map +1 -0
  13. package/dist/core/query-builder.d.ts +90 -0
  14. package/dist/core/query-builder.d.ts.map +1 -0
  15. package/dist/core/query-builder.js +259 -0
  16. package/dist/core/query-builder.js.map +1 -0
  17. package/dist/core/response-optimizer.d.ts +59 -0
  18. package/dist/core/response-optimizer.d.ts.map +1 -0
  19. package/dist/core/response-optimizer.js +197 -0
  20. package/dist/core/response-optimizer.js.map +1 -0
  21. package/dist/index.d.ts +16 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +377 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/types/auth.d.ts +146 -0
  26. package/dist/types/auth.d.ts.map +1 -0
  27. package/dist/types/auth.js +22 -0
  28. package/dist/types/auth.js.map +1 -0
  29. package/dist/types/cache.d.ts +162 -0
  30. package/dist/types/cache.d.ts.map +1 -0
  31. package/dist/types/cache.js +34 -0
  32. package/dist/types/cache.js.map +1 -0
  33. package/dist/types/config.d.ts +108 -0
  34. package/dist/types/config.d.ts.map +1 -0
  35. package/dist/types/config.js +37 -0
  36. package/dist/types/config.js.map +1 -0
  37. package/dist/types/graphql-proxy.d.ts +243 -0
  38. package/dist/types/graphql-proxy.d.ts.map +1 -0
  39. package/dist/types/graphql-proxy.js +142 -0
  40. package/dist/types/graphql-proxy.js.map +1 -0
  41. package/dist/types/index.d.ts +15 -0
  42. package/dist/types/index.d.ts.map +1 -0
  43. package/dist/types/index.js +16 -0
  44. package/dist/types/index.js.map +1 -0
  45. package/dist/types/logging.d.ts +223 -0
  46. package/dist/types/logging.d.ts.map +1 -0
  47. package/dist/types/logging.js +67 -0
  48. package/dist/types/logging.js.map +1 -0
  49. package/dist/types/mcp.d.ts +160 -0
  50. package/dist/types/mcp.d.ts.map +1 -0
  51. package/dist/types/mcp.js +126 -0
  52. package/dist/types/mcp.js.map +1 -0
  53. package/dist/types/metrics.d.ts +237 -0
  54. package/dist/types/metrics.d.ts.map +1 -0
  55. package/dist/types/metrics.js +26 -0
  56. package/dist/types/metrics.js.map +1 -0
  57. package/dist/types/rate-limit.d.ts +144 -0
  58. package/dist/types/rate-limit.d.ts.map +1 -0
  59. package/dist/types/rate-limit.js +43 -0
  60. package/dist/types/rate-limit.js.map +1 -0
  61. package/dist/types/tenant.d.ts +176 -0
  62. package/dist/types/tenant.d.ts.map +1 -0
  63. package/dist/types/tenant.js +63 -0
  64. package/dist/types/tenant.js.map +1 -0
  65. package/dist/types/transformation.d.ts +198 -0
  66. package/dist/types/transformation.d.ts.map +1 -0
  67. package/dist/types/transformation.js +51 -0
  68. package/dist/types/transformation.js.map +1 -0
  69. package/package.json +77 -0
  70. package/src/types/schema.graphql +2712 -0
@@ -0,0 +1,2712 @@
1
+ schema {
2
+ query: Query
3
+ }
4
+
5
+ "Aggregated audience metrics for a device over a time period"
6
+ type AdHawkAudienceMetrics {
7
+ "The device ID"
8
+ deviceId: String
9
+ "The device name"
10
+ deviceName: String
11
+ "Start of the time period for these metrics"
12
+ periodStart: DateTime!
13
+ "End of the time period for these metrics"
14
+ periodEnd: DateTime!
15
+ "Total number of impressions detected"
16
+ totalImpressions: Long!
17
+ "Number of unique visitors (based on anonymous user IDs)"
18
+ uniqueVisitors: Long!
19
+ "Average dwell time in seconds"
20
+ avgDwellTime: Float
21
+ "Number of male visitors detected"
22
+ maleCount: Long!
23
+ "Number of female visitors detected"
24
+ femaleCount: Long!
25
+ "Number of visitors with unknown gender"
26
+ unknownGenderCount: Long!
27
+ "Number of visitors under 18 years old"
28
+ ageUnder18: Long!
29
+ "Number of visitors 18-24 years old"
30
+ age18To24: Long!
31
+ "Number of visitors 25-34 years old"
32
+ age25To34: Long!
33
+ "Number of visitors 35-44 years old"
34
+ age35To44: Long!
35
+ "Number of visitors 45-54 years old"
36
+ age45To54: Long!
37
+ "Number of visitors 55-64 years old"
38
+ age55To64: Long!
39
+ "Number of visitors 65-74 years old"
40
+ age65To74: Long!
41
+ "Number of visitors over 74 years old"
42
+ ageOver74: Long!
43
+ "Number of motion sensor detections"
44
+ motionCount: Long!
45
+ "Number of audience\/face detections"
46
+ audienceCount: Long!
47
+ "Number of BLE beacon detections"
48
+ bleCount: Long!
49
+ "Number of WiFi proximity detections"
50
+ wifiCount: Long!
51
+ }
52
+
53
+ "Aggregated device health metrics over a time period"
54
+ type AdHawkDeviceMetrics {
55
+ "The device ID"
56
+ deviceId: String
57
+ "The device name"
58
+ deviceName: String
59
+ "Start of the time period for these metrics"
60
+ periodStart: DateTime!
61
+ "End of the time period for these metrics"
62
+ periodEnd: DateTime!
63
+ "Average CPU usage percentage during the period"
64
+ avgCpuUsage: Float
65
+ "Maximum CPU usage percentage during the period"
66
+ maxCpuUsage: Float
67
+ "Average memory usage percentage during the period"
68
+ avgMemoryUsage: Float
69
+ "Maximum memory usage percentage during the period"
70
+ maxMemoryUsage: Float
71
+ "Average disk usage percentage during the period"
72
+ avgDiskUsage: Float
73
+ "Total bytes transmitted during the period"
74
+ totalTxBytes: Long
75
+ "Total bytes received during the period"
76
+ totalRxBytes: Long
77
+ "Percentage of time the device was online (0-100)"
78
+ uptimePercentage: Float
79
+ "Number of pings received during the period"
80
+ pingCount: Long!
81
+ "Number of alerts generated during the period"
82
+ alertCount: Int!
83
+ }
84
+
85
+ "Represents a custom event log entry from a device"
86
+ type AdHawkEventLog {
87
+ "Unique identifier for this event log entry"
88
+ id: String
89
+ "Timestamp when the event occurred"
90
+ timestamp: DateTime!
91
+ "The device ID where the event occurred"
92
+ deviceId: String
93
+ "Session identifier for grouping related events"
94
+ sessionId: String
95
+ "Name of the event (e.g., \"button_click\", \"page_view\")"
96
+ eventName: String
97
+ "Additional properties associated with the event as key-value pairs"
98
+ properties: [KeyValuePairOfStringAndObject!]
99
+ "UTC offset of the device at the time of the event"
100
+ utcOffset: Int
101
+ }
102
+
103
+ "Represents an audience impression\/detection entry"
104
+ type AdHawkImpression {
105
+ "Unique identifier for this impression entry"
106
+ id: String
107
+ "Timestamp when the impression was recorded"
108
+ timestamp: DateTime!
109
+ "The device ID where the impression was detected"
110
+ deviceId: String
111
+ "Type of impression detection (motion, audience, ble, wifi)"
112
+ type: Int!
113
+ "Dwell time in milliseconds - how long the visitor was detected"
114
+ dwellTime: Long
115
+ "Anonymous user identifier for tracking unique visitors"
116
+ userId: String
117
+ "Detected gender of the visitor"
118
+ gender: AdHawkGender
119
+ "Estimated age of the visitor"
120
+ age: Int
121
+ "Age range classification"
122
+ ageRange: AdHawkAgeRange
123
+ "Received Signal Strength Indicator for BLE\/WiFi detections"
124
+ rssi: Int
125
+ "UTC offset of the device at the time of detection"
126
+ utcOffset: Int
127
+ }
128
+
129
+ "Media play statistics - aggregated play counts for a media file"
130
+ type AdHawkMediaPlayStats {
131
+ "The media file ID"
132
+ fileId: String
133
+ "The media file name"
134
+ fileName: String
135
+ "Total number of times this media was played"
136
+ totalPlays: Long!
137
+ "Total duration of all plays in milliseconds"
138
+ totalDuration: Long!
139
+ "Average play duration in milliseconds"
140
+ avgDuration: Decimal
141
+ "Number of unique devices that played this media"
142
+ deviceCount: Long!
143
+ }
144
+
145
+ "Represents a device ping\/heartbeat log entry - records device health and status"
146
+ type AdHawkPingLog {
147
+ "Unique identifier for this ping log entry"
148
+ id: String
149
+ "Timestamp of the ping"
150
+ timestamp: DateTime!
151
+ "The device ID that sent the ping"
152
+ deviceId: String
153
+ "Type of ping (alive, downloading, playing, motion)"
154
+ type: Int!
155
+ "Subtype of the ping for more granular classification"
156
+ subType: Int
157
+ "CPU usage percentage (0-100)"
158
+ cpuUsage: Decimal
159
+ "Memory usage percentage (0-100)"
160
+ memoryUsage: Decimal
161
+ "Disk usage percentage (0-100)"
162
+ diskUsage: Decimal
163
+ "Total bytes transmitted since last ping"
164
+ txBytes: Long
165
+ "Total bytes received since last ping"
166
+ rxBytes: Long
167
+ "External IP address of the device"
168
+ externalIpAddress: String
169
+ "Latitude coordinate if GPS is available"
170
+ latitude: Float
171
+ "Longitude coordinate if GPS is available"
172
+ longitude: Float
173
+ "UTC offset of the device"
174
+ utcOffset: Int
175
+ }
176
+
177
+ "Represents a media play log entry - records when content was played on a device"
178
+ type AdHawkPlayLog {
179
+ "Unique identifier for this play log entry"
180
+ id: String
181
+ "Timestamp when the content was played"
182
+ timestamp: DateTime!
183
+ "The device ID where the content was played"
184
+ deviceId: String
185
+ "The media file ID that was played"
186
+ fileId: String
187
+ "The name of the media file"
188
+ fileName: String
189
+ "Duration of the play in milliseconds"
190
+ duration: Int
191
+ "Type of play (internal use)"
192
+ type: Int
193
+ "UTC offset of the device at the time of play"
194
+ utcOffset: Int
195
+ }
196
+
197
+ type Beacon {
198
+ distance: Decimal
199
+ calibration: Decimal
200
+ phone: String
201
+ emailAddress: String
202
+ website: String
203
+ devices: [String]
204
+ rating: Decimal
205
+ uuid: String
206
+ major: String
207
+ minor: String
208
+ notificationDelay: Int
209
+ instanceId: String
210
+ namespace: String
211
+ }
212
+
213
+ type Condition {
214
+ "Condition type"
215
+ type: ConditionType!
216
+ "Logical operator for combining multiple conditions"
217
+ operator: ConditionOperator
218
+ "Value 1. See ConditionType documentation for usage notes."
219
+ value1: String
220
+ "Value 2. See ConditionType documentation for usage notes."
221
+ value2: String
222
+ "Value 3. See ConditionType documentation for usage notes."
223
+ value3: String
224
+ "Value 4. See ConditionType documentation for usage notes."
225
+ value4: String
226
+ }
227
+
228
+ "Device model"
229
+ type Device {
230
+ "The device id"
231
+ id: String
232
+ "The device name"
233
+ name: String
234
+ "The group name"
235
+ groupName: String
236
+ "The group id"
237
+ groupId: String
238
+ "Tags associated with this device"
239
+ tags: String
240
+ "The device type"
241
+ deviceType: DeviceType
242
+ "The date the device was registered"
243
+ enteredService: DateTime
244
+ "The last service date"
245
+ lastService: DateTime
246
+ "The timezone of the device"
247
+ timezone: String
248
+ "The language code of the device"
249
+ languageCode: String
250
+ "The timestamp of the last content sync with the server"
251
+ lastUpdate: DateTime
252
+ "The physical location\/address of the device"
253
+ location: Location
254
+ "The device ping\/heartbeat data"
255
+ pingData: PingData
256
+ "The device registration key"
257
+ registrationKey: String
258
+ "The encrypted registration key"
259
+ encryptedRegistrationKey: String
260
+ "The device MAC address, if applicable"
261
+ macAddress: String
262
+ "Beacon information for the device, if applicable"
263
+ beacon: Beacon
264
+ "The device service level"
265
+ serviceLevel: String
266
+ "Is the device content in sync with server"
267
+ inSync: Boolean!
268
+ "The device serial number"
269
+ serialNumber: String
270
+ "Is the device deactivated"
271
+ deactivated: Boolean
272
+ "The device notes"
273
+ notes: String
274
+ """
275
+ Is the device currently online.
276
+ A device is considered online if it has a timestamp within the last 5 minutes
277
+ """
278
+ isOnline: Boolean!
279
+ }
280
+
281
+ type DeviceType {
282
+ id: String
283
+ name: String
284
+ manufacturer: String
285
+ deviceCaps: Int
286
+ }
287
+
288
+ "Group model"
289
+ type Group {
290
+ "The group id"
291
+ id: String
292
+ "The group name"
293
+ name: String
294
+ "The parent group id"
295
+ parentId: String
296
+ "The number of items in this group"
297
+ count: Int
298
+ "The nested level of this group"
299
+ level: Int
300
+ "The family id"
301
+ family: Long
302
+ "The organization count"
303
+ organizationCount: Int
304
+ "The children groups"
305
+ children: [Group]
306
+ }
307
+
308
+ type KeyValuePairOfStringAndObject {
309
+ key: String!
310
+ }
311
+
312
+ type KeyValuePairOfStringAndString {
313
+ key: String!
314
+ value: String!
315
+ }
316
+
317
+ type Location {
318
+ "City"
319
+ city: String
320
+ "State"
321
+ state: String
322
+ "County"
323
+ county: String
324
+ "Country"
325
+ country: String
326
+ "Postal code"
327
+ postalCode: String
328
+ "Address"
329
+ address: String
330
+ "Latitude"
331
+ latitude: Decimal
332
+ "Longitude"
333
+ longitude: Decimal
334
+ }
335
+
336
+ "Media model"
337
+ type Media {
338
+ "The media id"
339
+ id: String
340
+ "The group name"
341
+ groupName: String
342
+ "The MIME type for this media"
343
+ mimeType: String
344
+ "The file size in bytes"
345
+ fileSize: Int!
346
+ "The file name"
347
+ fileName: String
348
+ "The file URL"
349
+ fileUrl: String
350
+ "The thumbnail URL"
351
+ thumbnailUrl: String
352
+ "The date the media was uploaded"
353
+ uploadedOn: DateTime
354
+ "The user id that uploaded the media"
355
+ uploadedBy: String
356
+ "The SHA512 hash of the media file"
357
+ sha512: String
358
+ "The width of the media"
359
+ width: Int
360
+ "The height of the media"
361
+ height: Int
362
+ "The media name"
363
+ name: String
364
+ "The group id"
365
+ groupId: String
366
+ "The tags associated with this media"
367
+ tags: String
368
+ "The advertiser id. Optional"
369
+ advertiserId: String
370
+ "Is this media shared with other accounts"
371
+ isShared: Boolean
372
+ "The start date for this media"
373
+ startDate: DateTime
374
+ "The end date for this media"
375
+ endDate: DateTime
376
+ }
377
+
378
+ type Module {
379
+ "Module id"
380
+ id: String
381
+ "Module name"
382
+ name: String
383
+ "Module type"
384
+ type: String
385
+ "Left position"
386
+ left: Int
387
+ "Top position"
388
+ top: Int
389
+ "Width"
390
+ width: Int
391
+ "Height"
392
+ height: Int
393
+ "Playlist assigned to this module"
394
+ playlistId: String
395
+ "Sequence or Z-Order"
396
+ sequence: Int
397
+ }
398
+
399
+ type PingData {
400
+ "Ping type"
401
+ type: String
402
+ "Snapshot (screenshot) of live player content"
403
+ snap: [Byte!]
404
+ "Player version number"
405
+ playerVersion: String
406
+ "Player OS version"
407
+ osVersion: String
408
+ """
409
+ CPU usage (percentage)
410
+ Value range [0, 100]
411
+ """
412
+ cpuUsage: Float!
413
+ """
414
+ Memory usage (percentage)
415
+ Value range [0, 100]
416
+ """
417
+ memoryUsage: Float!
418
+ "MAC address of primary player network interface"
419
+ macAddress: String
420
+ """
421
+ Disk usage (percentage)
422
+ Value range [0, 100]
423
+ """
424
+ diskUsage: Float!
425
+ """
426
+ Timestamp of this ping.
427
+ Device is considered offline if this timestamp is older than 10 minutes
428
+ """
429
+ timestamp: DateTime!
430
+ "Bytes recieved by this player"
431
+ bytesReceived: Long!
432
+ "Current transfer rate over the primary network interface"
433
+ transferRate: Long!
434
+ "IP address of the primary network interface"
435
+ ipAddress: String
436
+ "Current location of the player (latitude)"
437
+ latitude: Float
438
+ "Current location of the player (longitude)"
439
+ longitude: Float
440
+ "Currently running schedule"
441
+ currentSchedule: String
442
+ "Current uptime of the player (milliseconds)"
443
+ uptime: Long
444
+ "IP address as seen by the server for this device"
445
+ externalIpAddress: String
446
+ "Package download progress (percentage)"
447
+ downloadPctComplete: Long
448
+ "Dictionary of meta data"
449
+ meta: [KeyValuePairOfStringAndString!]
450
+ "Current CPU temperature"
451
+ cpuTemperature: Float
452
+ }
453
+
454
+ "Playlist model"
455
+ type Playlist {
456
+ "The playlist id"
457
+ id: String
458
+ "The playlist name"
459
+ name: String
460
+ "The group name"
461
+ groupName: String
462
+ "The group id"
463
+ groupId: String
464
+ "The tags associated with this playlist"
465
+ tags: String
466
+ "The playlist type"
467
+ type: PlaylistType!
468
+ "Total duration for this playlist. Used in conjunction with loop policy"
469
+ duration: Int
470
+ "Randomize the order of the playlist"
471
+ isRandomStart: Boolean
472
+ "The date the playlist was created"
473
+ createdOn: DateTime
474
+ "The user id that created the playlist"
475
+ createdById: String
476
+ "The date the playlist was last modified"
477
+ modifiedOn: DateTime
478
+ "The user id that last modified the playlist"
479
+ modifiedById: String
480
+ "The sources associated with this playlist"
481
+ sources: [Source]
482
+ }
483
+
484
+ type Query @authorize {
485
+ device(id: [String!] groupId: [String!] groupName: [String!] deviceTypeId: [String!] includeSnap: Boolean orgId: String where: DeviceFilterInput @cost(weight: "10") order: [DeviceSortInput!] @cost(weight: "10")): [Device] @authorize(policy: "Devices_View") @cost(weight: "10")
486
+ deviceGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Devices_View") @cost(weight: "10")
487
+ media(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: MediaFilterInput @cost(weight: "10") order: [MediaSortInput!] @cost(weight: "10")): [Media] @authorize(policy: "Files_View") @cost(weight: "10")
488
+ mediaGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Files_View") @cost(weight: "10")
489
+ playlist(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: PlaylistFilterInput @cost(weight: "10") order: [PlaylistSortInput!] @cost(weight: "10")): [Playlist] @authorize(policy: "Playlists_View") @cost(weight: "10")
490
+ playlistGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Playlists_View") @cost(weight: "10")
491
+ schedule(id: [String!] groupId: [String!] groupName: [String!] deviceId: String orgId: String where: ScheduleFilterInput @cost(weight: "10") order: [ScheduleSortInput!] @cost(weight: "10")): [Schedule] @authorize(policy: "Schedules_View") @cost(weight: "10")
492
+ scheduleGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Schedules_View") @cost(weight: "10")
493
+ template(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: TemplateFilterInput @cost(weight: "10") order: [TemplateSortInput!] @cost(weight: "10")): [Template] @authorize(policy: "Templates_View") @cost(weight: "10")
494
+ templateGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Templates_View") @cost(weight: "10")
495
+ user(id: [String!] where: UserFilterInput @cost(weight: "10") order: [UserSortInput!] @cost(weight: "10")): [User] @authorize(policy: "Account_ManageUsers_View") @cost(weight: "10")
496
+ """
497
+ Get play logs - records of when media content was played on devices.
498
+ Useful for tracking content playback history and calculating media impressions.
499
+ """
500
+ playLogs("Optional list of device IDs to filter by" deviceId: [String!] "Optional list of file IDs to filter by" fileId: [String!] "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkPlayLogFilterInput @cost(weight: "10") order: [AdHawkPlayLogSortInput!] @cost(weight: "10")): [AdHawkPlayLog] @authorize(policy: "AdHawk_View") @cost(weight: "10")
501
+ """
502
+ Get ping logs - device heartbeat/health data including CPU, memory, and disk usage.
503
+ Useful for monitoring device health and identifying performance issues.
504
+ Example: Find devices with average CPU usage over 90%.
505
+ """
506
+ pingLogs("Optional list of device IDs to filter by" deviceId: [String!] "Optional list of ping types to filter by (1=alive, 2=downloading, 4=playing)" type: [Int!] "Optional minimum CPU usage percentage to filter by" minCpuUsage: Float "Optional minimum memory usage percentage to filter by" minMemoryUsage: Float "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkPingLogFilterInput @cost(weight: "10") order: [AdHawkPingLogSortInput!] @cost(weight: "10")): [AdHawkPingLog] @authorize(policy: "AdHawk_View") @cost(weight: "10")
507
+ """
508
+ Get event logs - custom events generated by devices or applications.
509
+ Useful for tracking user interactions, button clicks, page views, etc.
510
+ """
511
+ eventLogs("Optional list of device IDs to filter by" deviceId: [String!] "Optional list of event names to filter by" eventName: [String!] "Optional session ID to filter by" sessionId: String "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkEventLogFilterInput @cost(weight: "10") order: [AdHawkEventLogSortInput!] @cost(weight: "10")): [AdHawkEventLog] @authorize(policy: "AdHawk_View") @cost(weight: "10")
512
+ """
513
+ Get impressions - audience detection data from sensors (motion, face detection, BLE, WiFi).
514
+ Useful for analyzing visitor demographics, dwell time, and traffic patterns.
515
+ """
516
+ impressions("Optional list of device IDs to filter by" deviceId: [String!] "Optional list of impression types to filter by (8=motion, 64=audience, 128=ble, 256=wifi)" type: [Int!] "Optional gender to filter by" gender: AdHawkGender "Optional minimum dwell time in milliseconds" minDwellTime: Long "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkImpressionFilterInput @cost(weight: "10") order: [AdHawkImpressionSortInput!] @cost(weight: "10")): [AdHawkImpression] @authorize(policy: "AdHawk_View") @cost(weight: "10")
517
+ """
518
+ Get aggregated device health metrics over a time period.
519
+ Useful for monitoring fleet health, identifying problematic devices, and capacity planning.
520
+ Metrics include CPU, memory, disk usage, and network traffic.
521
+ """
522
+ deviceMetrics("Optional list of device IDs to filter by" deviceId: [String!] "Time interval for aggregation (minute, hour, day, week, month)" interval: AdHawkIntervalType! = DAY "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkDeviceMetricsFilterInput @cost(weight: "10") order: [AdHawkDeviceMetricsSortInput!] @cost(weight: "10")): [AdHawkDeviceMetrics] @authorize(policy: "AdHawk_View") @cost(weight: "10")
523
+ """
524
+ Get aggregated audience metrics for devices over a time period.
525
+ Useful for analyzing visitor demographics, traffic patterns, and engagement.
526
+ Metrics include impressions, unique visitors, dwell time, gender, and age breakdowns.
527
+ """
528
+ audienceMetrics("Optional list of device IDs to filter by" deviceId: [String!] "Time interval for aggregation (minute, hour, day, week, month)" interval: AdHawkIntervalType! = DAY "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 1000, max: 10000)" limit: Int! = 1000 where: AdHawkAudienceMetricsFilterInput @cost(weight: "10") order: [AdHawkAudienceMetricsSortInput!] @cost(weight: "10")): [AdHawkAudienceMetrics] @authorize(policy: "AdHawk_View") @cost(weight: "10")
529
+ """
530
+ Get media play statistics - aggregated play counts and durations for media files.
531
+ Useful for analyzing content performance and identifying popular media.
532
+ """
533
+ mediaPlayStats("Optional list of device IDs to filter by" deviceId: [String!] "Optional list of file IDs to filter by" fileId: [String!] "Start date for the query (required)" startDate: DateTime! "End date for the query (required)" endDate: DateTime! "Maximum number of results (default: 100, max: 10000)" limit: Int! = 100 where: AdHawkMediaPlayStatsFilterInput @cost(weight: "10") order: [AdHawkMediaPlayStatsSortInput!] @cost(weight: "10")): [AdHawkMediaPlayStats] @authorize(policy: "AdHawk_View") @cost(weight: "10")
534
+ }
535
+
536
+ type Schedule {
537
+ "The schedule id"
538
+ id: String
539
+ "The name of the group to which the schedule belongs"
540
+ groupName: String
541
+ "The date the schedule was created"
542
+ createdOn: DateTime
543
+ "The user id that created the schedule"
544
+ createdById: String
545
+ "The date the schedule was last modified"
546
+ modifiedOn: DateTime
547
+ "The user id that last modified the schedule"
548
+ modifiedById: String
549
+ "The name of the schedule"
550
+ name: String
551
+ "The group id to which the schedule belongs"
552
+ groupId: String
553
+ "The tags associated with the schedule"
554
+ tags: String
555
+ """
556
+ Enabled this schedule for playback on Monday.
557
+ Only applicable for Playlist and Template schedules.
558
+ """
559
+ monday: Boolean
560
+ """
561
+ Enabled this schedule for playback on Tuesday.
562
+ Only applicable for Playlist and Template schedules.
563
+ """
564
+ tuesday: Boolean
565
+ """
566
+ Enabled this schedule for playback on Wednesday.
567
+ Only applicable for Playlist and Template schedules.
568
+ """
569
+ wednesday: Boolean
570
+ """
571
+ Enabled this schedule for playback on Thursday.
572
+ Only applicable for Playlist and Template schedules.
573
+ """
574
+ thursday: Boolean
575
+ """
576
+ Enabled this schedule for playback on Friday.
577
+ Only applicable for Playlist and Template schedules.
578
+ """
579
+ friday: Boolean
580
+ """
581
+ Enabled this schedule for playback on Saturday.
582
+ Only applicable for Playlist and Template schedules.
583
+ """
584
+ saturday: Boolean
585
+ """
586
+ Enabled this schedule for playback on Sunday.
587
+ Only applicable for Playlist and Template schedules.
588
+ """
589
+ sunday: Boolean
590
+ """
591
+ The start date for the schedule.
592
+ Only applicable for Playlist and Template schedules.
593
+ """
594
+ startDate: String
595
+ """
596
+ The end date for the schedule.
597
+ Only applicable for Playlist and Template schedules.
598
+ """
599
+ endDate: String
600
+ """
601
+ The start time for the schedule.
602
+ Only applicable for Playlist and Template schedules.
603
+ """
604
+ startTime: String
605
+ """
606
+ The end time for the schedule.
607
+ Only applicable for Playlist and Template schedules.
608
+ """
609
+ endTime: String
610
+ """
611
+ The template id for the schedule.
612
+ Only applicable for Playlist and Template schedules.
613
+ """
614
+ templateId: String
615
+ """
616
+ The playlist id for the schedule.
617
+ Only applicable for Playlist and Template schedules.
618
+ """
619
+ playlistId: String
620
+ """
621
+ The schedule type.
622
+
623
+ Playlist and Template schedules are basic schedules supporting a single template or playlist with a date and time range.
624
+ Campaign schedules, or 'Smart Schedules', are more advanced supporting multiple templates and playlists with conditions for playback.
625
+ """
626
+ type: ScheduleType!
627
+ "The devices associated with the schedule."
628
+ devices: [ScheduleDevice]
629
+ """
630
+ The conditions associated with the schedule.
631
+ Only applicable for Campaign schedules.
632
+ """
633
+ conditions: [Condition]
634
+ "The priority of the schedule. Higher priority schedules will take precedence over lower priority schedules."
635
+ priority: SchedulePriorityType!
636
+ }
637
+
638
+ type ScheduleDevice {
639
+ "The device id"
640
+ id: String
641
+ }
642
+
643
+ "Source model"
644
+ type Source {
645
+ "The source id"
646
+ id: String
647
+ "The source name"
648
+ name: String
649
+ "The source type"
650
+ type: SourceType!
651
+ "The sequence. Lower numbers are displayed first."
652
+ sequence: Int
653
+ "The media file id"
654
+ fileId: String
655
+ "The template id"
656
+ templateId: String
657
+ "The playlist id"
658
+ playlistId: String
659
+ "The value"
660
+ value: String
661
+ "The duration in seconds"
662
+ interval: Int
663
+ "The media associated with this source"
664
+ media: Media
665
+ """
666
+ Loop policy for this source item.
667
+ IMPORTANT: Only utilize when playlist has a fixed duration.
668
+ """
669
+ loopPolicyType: LoopPolicyType
670
+ "The conditions for this source"
671
+ conditions: [Condition]
672
+ }
673
+
674
+ type Template {
675
+ "Template id"
676
+ id: String
677
+ "Template name"
678
+ name: String
679
+ "Group name"
680
+ groupName: String
681
+ "Group id"
682
+ groupId: String
683
+ "Tags"
684
+ tags: String
685
+ "Created on date"
686
+ createdOn: DateTime
687
+ "Created by user id"
688
+ createdById: String
689
+ "Modified on date"
690
+ modifiedOn: DateTime
691
+ "Modified by user id"
692
+ modifiedById: String
693
+ "Template script"
694
+ script: String
695
+ "Template background color"
696
+ backColor: String
697
+ "Width"
698
+ width: Int
699
+ "Height"
700
+ height: Int
701
+ "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
702
+ orientation: Int
703
+ "Modules or zones"
704
+ modules: [Module]
705
+ }
706
+
707
+ "User model"
708
+ type User {
709
+ "The user id"
710
+ id: String
711
+ "The first name"
712
+ firstName: String
713
+ "The last name"
714
+ lastName: String
715
+ "The city"
716
+ city: String
717
+ "The state"
718
+ state: String
719
+ "The postal code"
720
+ postalCode: String
721
+ "The country"
722
+ country: String
723
+ "The home phone number"
724
+ homePhone: String
725
+ "The work phone number"
726
+ workPhone: String
727
+ "The mobile phone number"
728
+ mobilePhone: String
729
+ "The date the user was created"
730
+ createdOn: DateTime
731
+ "The email address"
732
+ email: String
733
+ "The roles assigned to this user"
734
+ role: [String]
735
+ "The username"
736
+ username: String
737
+ "The date the user last logged in"
738
+ lastActivity: DateTime
739
+ }
740
+
741
+ "Aggregated audience metrics for a device over a time period"
742
+ input AdHawkAudienceMetricsFilterInput {
743
+ and: [AdHawkAudienceMetricsFilterInput!]
744
+ or: [AdHawkAudienceMetricsFilterInput!]
745
+ "The device ID"
746
+ deviceId: StringOperationFilterInput
747
+ "The device name"
748
+ deviceName: StringOperationFilterInput
749
+ "Start of the time period for these metrics"
750
+ periodStart: DateTimeOperationFilterInput
751
+ "End of the time period for these metrics"
752
+ periodEnd: DateTimeOperationFilterInput
753
+ "Total number of impressions detected"
754
+ totalImpressions: LongOperationFilterInput
755
+ "Number of unique visitors (based on anonymous user IDs)"
756
+ uniqueVisitors: LongOperationFilterInput
757
+ "Average dwell time in seconds"
758
+ avgDwellTime: FloatOperationFilterInput
759
+ "Number of male visitors detected"
760
+ maleCount: LongOperationFilterInput
761
+ "Number of female visitors detected"
762
+ femaleCount: LongOperationFilterInput
763
+ "Number of visitors with unknown gender"
764
+ unknownGenderCount: LongOperationFilterInput
765
+ "Number of visitors under 18 years old"
766
+ ageUnder18: LongOperationFilterInput
767
+ "Number of visitors 18-24 years old"
768
+ age18To24: LongOperationFilterInput
769
+ "Number of visitors 25-34 years old"
770
+ age25To34: LongOperationFilterInput
771
+ "Number of visitors 35-44 years old"
772
+ age35To44: LongOperationFilterInput
773
+ "Number of visitors 45-54 years old"
774
+ age45To54: LongOperationFilterInput
775
+ "Number of visitors 55-64 years old"
776
+ age55To64: LongOperationFilterInput
777
+ "Number of visitors 65-74 years old"
778
+ age65To74: LongOperationFilterInput
779
+ "Number of visitors over 74 years old"
780
+ ageOver74: LongOperationFilterInput
781
+ "Number of motion sensor detections"
782
+ motionCount: LongOperationFilterInput
783
+ "Number of audience\/face detections"
784
+ audienceCount: LongOperationFilterInput
785
+ "Number of BLE beacon detections"
786
+ bleCount: LongOperationFilterInput
787
+ "Number of WiFi proximity detections"
788
+ wifiCount: LongOperationFilterInput
789
+ }
790
+
791
+ "Aggregated audience metrics for a device over a time period"
792
+ input AdHawkAudienceMetricsSortInput {
793
+ "The device ID"
794
+ deviceId: SortEnumType @cost(weight: "10")
795
+ "The device name"
796
+ deviceName: SortEnumType @cost(weight: "10")
797
+ "Start of the time period for these metrics"
798
+ periodStart: SortEnumType @cost(weight: "10")
799
+ "End of the time period for these metrics"
800
+ periodEnd: SortEnumType @cost(weight: "10")
801
+ "Total number of impressions detected"
802
+ totalImpressions: SortEnumType @cost(weight: "10")
803
+ "Number of unique visitors (based on anonymous user IDs)"
804
+ uniqueVisitors: SortEnumType @cost(weight: "10")
805
+ "Average dwell time in seconds"
806
+ avgDwellTime: SortEnumType @cost(weight: "10")
807
+ "Number of male visitors detected"
808
+ maleCount: SortEnumType @cost(weight: "10")
809
+ "Number of female visitors detected"
810
+ femaleCount: SortEnumType @cost(weight: "10")
811
+ "Number of visitors with unknown gender"
812
+ unknownGenderCount: SortEnumType @cost(weight: "10")
813
+ "Number of visitors under 18 years old"
814
+ ageUnder18: SortEnumType @cost(weight: "10")
815
+ "Number of visitors 18-24 years old"
816
+ age18To24: SortEnumType @cost(weight: "10")
817
+ "Number of visitors 25-34 years old"
818
+ age25To34: SortEnumType @cost(weight: "10")
819
+ "Number of visitors 35-44 years old"
820
+ age35To44: SortEnumType @cost(weight: "10")
821
+ "Number of visitors 45-54 years old"
822
+ age45To54: SortEnumType @cost(weight: "10")
823
+ "Number of visitors 55-64 years old"
824
+ age55To64: SortEnumType @cost(weight: "10")
825
+ "Number of visitors 65-74 years old"
826
+ age65To74: SortEnumType @cost(weight: "10")
827
+ "Number of visitors over 74 years old"
828
+ ageOver74: SortEnumType @cost(weight: "10")
829
+ "Number of motion sensor detections"
830
+ motionCount: SortEnumType @cost(weight: "10")
831
+ "Number of audience\/face detections"
832
+ audienceCount: SortEnumType @cost(weight: "10")
833
+ "Number of BLE beacon detections"
834
+ bleCount: SortEnumType @cost(weight: "10")
835
+ "Number of WiFi proximity detections"
836
+ wifiCount: SortEnumType @cost(weight: "10")
837
+ }
838
+
839
+ "Aggregated device health metrics over a time period"
840
+ input AdHawkDeviceMetricsFilterInput {
841
+ and: [AdHawkDeviceMetricsFilterInput!]
842
+ or: [AdHawkDeviceMetricsFilterInput!]
843
+ "The device ID"
844
+ deviceId: StringOperationFilterInput
845
+ "The device name"
846
+ deviceName: StringOperationFilterInput
847
+ "Start of the time period for these metrics"
848
+ periodStart: DateTimeOperationFilterInput
849
+ "End of the time period for these metrics"
850
+ periodEnd: DateTimeOperationFilterInput
851
+ "Average CPU usage percentage during the period"
852
+ avgCpuUsage: FloatOperationFilterInput
853
+ "Maximum CPU usage percentage during the period"
854
+ maxCpuUsage: FloatOperationFilterInput
855
+ "Average memory usage percentage during the period"
856
+ avgMemoryUsage: FloatOperationFilterInput
857
+ "Maximum memory usage percentage during the period"
858
+ maxMemoryUsage: FloatOperationFilterInput
859
+ "Average disk usage percentage during the period"
860
+ avgDiskUsage: FloatOperationFilterInput
861
+ "Total bytes transmitted during the period"
862
+ totalTxBytes: LongOperationFilterInput
863
+ "Total bytes received during the period"
864
+ totalRxBytes: LongOperationFilterInput
865
+ "Percentage of time the device was online (0-100)"
866
+ uptimePercentage: FloatOperationFilterInput
867
+ "Number of pings received during the period"
868
+ pingCount: LongOperationFilterInput
869
+ "Number of alerts generated during the period"
870
+ alertCount: IntOperationFilterInput
871
+ }
872
+
873
+ "Aggregated device health metrics over a time period"
874
+ input AdHawkDeviceMetricsSortInput {
875
+ "The device ID"
876
+ deviceId: SortEnumType @cost(weight: "10")
877
+ "The device name"
878
+ deviceName: SortEnumType @cost(weight: "10")
879
+ "Start of the time period for these metrics"
880
+ periodStart: SortEnumType @cost(weight: "10")
881
+ "End of the time period for these metrics"
882
+ periodEnd: SortEnumType @cost(weight: "10")
883
+ "Average CPU usage percentage during the period"
884
+ avgCpuUsage: SortEnumType @cost(weight: "10")
885
+ "Maximum CPU usage percentage during the period"
886
+ maxCpuUsage: SortEnumType @cost(weight: "10")
887
+ "Average memory usage percentage during the period"
888
+ avgMemoryUsage: SortEnumType @cost(weight: "10")
889
+ "Maximum memory usage percentage during the period"
890
+ maxMemoryUsage: SortEnumType @cost(weight: "10")
891
+ "Average disk usage percentage during the period"
892
+ avgDiskUsage: SortEnumType @cost(weight: "10")
893
+ "Total bytes transmitted during the period"
894
+ totalTxBytes: SortEnumType @cost(weight: "10")
895
+ "Total bytes received during the period"
896
+ totalRxBytes: SortEnumType @cost(weight: "10")
897
+ "Percentage of time the device was online (0-100)"
898
+ uptimePercentage: SortEnumType @cost(weight: "10")
899
+ "Number of pings received during the period"
900
+ pingCount: SortEnumType @cost(weight: "10")
901
+ "Number of alerts generated during the period"
902
+ alertCount: SortEnumType @cost(weight: "10")
903
+ }
904
+
905
+ "Represents a custom event log entry from a device"
906
+ input AdHawkEventLogFilterInput {
907
+ and: [AdHawkEventLogFilterInput!]
908
+ or: [AdHawkEventLogFilterInput!]
909
+ "Unique identifier for this event log entry"
910
+ id: StringOperationFilterInput
911
+ "Timestamp when the event occurred"
912
+ timestamp: DateTimeOperationFilterInput
913
+ "The device ID where the event occurred"
914
+ deviceId: StringOperationFilterInput
915
+ "Session identifier for grouping related events"
916
+ sessionId: StringOperationFilterInput
917
+ "Name of the event (e.g., \"button_click\", \"page_view\")"
918
+ eventName: StringOperationFilterInput
919
+ "Additional properties associated with the event as key-value pairs"
920
+ properties: ListFilterInputTypeOfKeyValuePairOfStringAndObjectFilterInput
921
+ "UTC offset of the device at the time of the event"
922
+ utcOffset: IntOperationFilterInput
923
+ }
924
+
925
+ "Represents a custom event log entry from a device"
926
+ input AdHawkEventLogSortInput {
927
+ "Unique identifier for this event log entry"
928
+ id: SortEnumType @cost(weight: "10")
929
+ "Timestamp when the event occurred"
930
+ timestamp: SortEnumType @cost(weight: "10")
931
+ "The device ID where the event occurred"
932
+ deviceId: SortEnumType @cost(weight: "10")
933
+ "Session identifier for grouping related events"
934
+ sessionId: SortEnumType @cost(weight: "10")
935
+ "Name of the event (e.g., \"button_click\", \"page_view\")"
936
+ eventName: SortEnumType @cost(weight: "10")
937
+ "UTC offset of the device at the time of the event"
938
+ utcOffset: SortEnumType @cost(weight: "10")
939
+ }
940
+
941
+ "Represents an audience impression\/detection entry"
942
+ input AdHawkImpressionFilterInput {
943
+ and: [AdHawkImpressionFilterInput!]
944
+ or: [AdHawkImpressionFilterInput!]
945
+ "Unique identifier for this impression entry"
946
+ id: StringOperationFilterInput
947
+ "Timestamp when the impression was recorded"
948
+ timestamp: DateTimeOperationFilterInput
949
+ "The device ID where the impression was detected"
950
+ deviceId: StringOperationFilterInput
951
+ "Type of impression detection (motion, audience, ble, wifi)"
952
+ type: IntOperationFilterInput
953
+ "Dwell time in milliseconds - how long the visitor was detected"
954
+ dwellTime: LongOperationFilterInput
955
+ "Anonymous user identifier for tracking unique visitors"
956
+ userId: StringOperationFilterInput
957
+ "Detected gender of the visitor"
958
+ gender: NullableOfAdHawkGenderOperationFilterInput
959
+ "Estimated age of the visitor"
960
+ age: IntOperationFilterInput
961
+ "Age range classification"
962
+ ageRange: NullableOfAdHawkAgeRangeOperationFilterInput
963
+ "Received Signal Strength Indicator for BLE\/WiFi detections"
964
+ rssi: IntOperationFilterInput
965
+ "UTC offset of the device at the time of detection"
966
+ utcOffset: IntOperationFilterInput
967
+ }
968
+
969
+ "Represents an audience impression\/detection entry"
970
+ input AdHawkImpressionSortInput {
971
+ "Unique identifier for this impression entry"
972
+ id: SortEnumType @cost(weight: "10")
973
+ "Timestamp when the impression was recorded"
974
+ timestamp: SortEnumType @cost(weight: "10")
975
+ "The device ID where the impression was detected"
976
+ deviceId: SortEnumType @cost(weight: "10")
977
+ "Type of impression detection (motion, audience, ble, wifi)"
978
+ type: SortEnumType @cost(weight: "10")
979
+ "Dwell time in milliseconds - how long the visitor was detected"
980
+ dwellTime: SortEnumType @cost(weight: "10")
981
+ "Anonymous user identifier for tracking unique visitors"
982
+ userId: SortEnumType @cost(weight: "10")
983
+ "Detected gender of the visitor"
984
+ gender: SortEnumType @cost(weight: "10")
985
+ "Estimated age of the visitor"
986
+ age: SortEnumType @cost(weight: "10")
987
+ "Age range classification"
988
+ ageRange: SortEnumType @cost(weight: "10")
989
+ "Received Signal Strength Indicator for BLE\/WiFi detections"
990
+ rssi: SortEnumType @cost(weight: "10")
991
+ "UTC offset of the device at the time of detection"
992
+ utcOffset: SortEnumType @cost(weight: "10")
993
+ }
994
+
995
+ "Media play statistics - aggregated play counts for a media file"
996
+ input AdHawkMediaPlayStatsFilterInput {
997
+ and: [AdHawkMediaPlayStatsFilterInput!]
998
+ or: [AdHawkMediaPlayStatsFilterInput!]
999
+ "The media file ID"
1000
+ fileId: StringOperationFilterInput
1001
+ "The media file name"
1002
+ fileName: StringOperationFilterInput
1003
+ "Total number of times this media was played"
1004
+ totalPlays: LongOperationFilterInput
1005
+ "Total duration of all plays in milliseconds"
1006
+ totalDuration: LongOperationFilterInput
1007
+ "Average play duration in milliseconds"
1008
+ avgDuration: DecimalOperationFilterInput
1009
+ "Number of unique devices that played this media"
1010
+ deviceCount: LongOperationFilterInput
1011
+ }
1012
+
1013
+ "Media play statistics - aggregated play counts for a media file"
1014
+ input AdHawkMediaPlayStatsSortInput {
1015
+ "The media file ID"
1016
+ fileId: SortEnumType @cost(weight: "10")
1017
+ "The media file name"
1018
+ fileName: SortEnumType @cost(weight: "10")
1019
+ "Total number of times this media was played"
1020
+ totalPlays: SortEnumType @cost(weight: "10")
1021
+ "Total duration of all plays in milliseconds"
1022
+ totalDuration: SortEnumType @cost(weight: "10")
1023
+ "Average play duration in milliseconds"
1024
+ avgDuration: SortEnumType @cost(weight: "10")
1025
+ "Number of unique devices that played this media"
1026
+ deviceCount: SortEnumType @cost(weight: "10")
1027
+ }
1028
+
1029
+ "Represents a device ping\/heartbeat log entry - records device health and status"
1030
+ input AdHawkPingLogFilterInput {
1031
+ and: [AdHawkPingLogFilterInput!]
1032
+ or: [AdHawkPingLogFilterInput!]
1033
+ "Unique identifier for this ping log entry"
1034
+ id: StringOperationFilterInput
1035
+ "Timestamp of the ping"
1036
+ timestamp: DateTimeOperationFilterInput
1037
+ "The device ID that sent the ping"
1038
+ deviceId: StringOperationFilterInput
1039
+ "Type of ping (alive, downloading, playing, motion)"
1040
+ type: IntOperationFilterInput
1041
+ "Subtype of the ping for more granular classification"
1042
+ subType: IntOperationFilterInput
1043
+ "CPU usage percentage (0-100)"
1044
+ cpuUsage: DecimalOperationFilterInput
1045
+ "Memory usage percentage (0-100)"
1046
+ memoryUsage: DecimalOperationFilterInput
1047
+ "Disk usage percentage (0-100)"
1048
+ diskUsage: DecimalOperationFilterInput
1049
+ "Total bytes transmitted since last ping"
1050
+ txBytes: LongOperationFilterInput
1051
+ "Total bytes received since last ping"
1052
+ rxBytes: LongOperationFilterInput
1053
+ "External IP address of the device"
1054
+ externalIpAddress: StringOperationFilterInput
1055
+ "Latitude coordinate if GPS is available"
1056
+ latitude: FloatOperationFilterInput
1057
+ "Longitude coordinate if GPS is available"
1058
+ longitude: FloatOperationFilterInput
1059
+ "UTC offset of the device"
1060
+ utcOffset: IntOperationFilterInput
1061
+ }
1062
+
1063
+ "Represents a device ping\/heartbeat log entry - records device health and status"
1064
+ input AdHawkPingLogSortInput {
1065
+ "Unique identifier for this ping log entry"
1066
+ id: SortEnumType @cost(weight: "10")
1067
+ "Timestamp of the ping"
1068
+ timestamp: SortEnumType @cost(weight: "10")
1069
+ "The device ID that sent the ping"
1070
+ deviceId: SortEnumType @cost(weight: "10")
1071
+ "Type of ping (alive, downloading, playing, motion)"
1072
+ type: SortEnumType @cost(weight: "10")
1073
+ "Subtype of the ping for more granular classification"
1074
+ subType: SortEnumType @cost(weight: "10")
1075
+ "CPU usage percentage (0-100)"
1076
+ cpuUsage: SortEnumType @cost(weight: "10")
1077
+ "Memory usage percentage (0-100)"
1078
+ memoryUsage: SortEnumType @cost(weight: "10")
1079
+ "Disk usage percentage (0-100)"
1080
+ diskUsage: SortEnumType @cost(weight: "10")
1081
+ "Total bytes transmitted since last ping"
1082
+ txBytes: SortEnumType @cost(weight: "10")
1083
+ "Total bytes received since last ping"
1084
+ rxBytes: SortEnumType @cost(weight: "10")
1085
+ "External IP address of the device"
1086
+ externalIpAddress: SortEnumType @cost(weight: "10")
1087
+ "Latitude coordinate if GPS is available"
1088
+ latitude: SortEnumType @cost(weight: "10")
1089
+ "Longitude coordinate if GPS is available"
1090
+ longitude: SortEnumType @cost(weight: "10")
1091
+ "UTC offset of the device"
1092
+ utcOffset: SortEnumType @cost(weight: "10")
1093
+ }
1094
+
1095
+ "Represents a media play log entry - records when content was played on a device"
1096
+ input AdHawkPlayLogFilterInput {
1097
+ and: [AdHawkPlayLogFilterInput!]
1098
+ or: [AdHawkPlayLogFilterInput!]
1099
+ "Unique identifier for this play log entry"
1100
+ id: StringOperationFilterInput
1101
+ "Timestamp when the content was played"
1102
+ timestamp: DateTimeOperationFilterInput
1103
+ "The device ID where the content was played"
1104
+ deviceId: StringOperationFilterInput
1105
+ "The media file ID that was played"
1106
+ fileId: StringOperationFilterInput
1107
+ "The name of the media file"
1108
+ fileName: StringOperationFilterInput
1109
+ "Duration of the play in milliseconds"
1110
+ duration: IntOperationFilterInput
1111
+ "Type of play (internal use)"
1112
+ type: IntOperationFilterInput
1113
+ "UTC offset of the device at the time of play"
1114
+ utcOffset: IntOperationFilterInput
1115
+ }
1116
+
1117
+ "Represents a media play log entry - records when content was played on a device"
1118
+ input AdHawkPlayLogSortInput {
1119
+ "Unique identifier for this play log entry"
1120
+ id: SortEnumType @cost(weight: "10")
1121
+ "Timestamp when the content was played"
1122
+ timestamp: SortEnumType @cost(weight: "10")
1123
+ "The device ID where the content was played"
1124
+ deviceId: SortEnumType @cost(weight: "10")
1125
+ "The media file ID that was played"
1126
+ fileId: SortEnumType @cost(weight: "10")
1127
+ "The name of the media file"
1128
+ fileName: SortEnumType @cost(weight: "10")
1129
+ "Duration of the play in milliseconds"
1130
+ duration: SortEnumType @cost(weight: "10")
1131
+ "Type of play (internal use)"
1132
+ type: SortEnumType @cost(weight: "10")
1133
+ "UTC offset of the device at the time of play"
1134
+ utcOffset: SortEnumType @cost(weight: "10")
1135
+ }
1136
+
1137
+ input BeaconFilterInput {
1138
+ and: [BeaconFilterInput!]
1139
+ or: [BeaconFilterInput!]
1140
+ distance: DecimalOperationFilterInput
1141
+ calibration: DecimalOperationFilterInput
1142
+ phone: StringOperationFilterInput
1143
+ emailAddress: StringOperationFilterInput
1144
+ website: StringOperationFilterInput
1145
+ devices: ListStringOperationFilterInput
1146
+ rating: DecimalOperationFilterInput
1147
+ uuid: StringOperationFilterInput
1148
+ major: StringOperationFilterInput
1149
+ minor: StringOperationFilterInput
1150
+ notificationDelay: IntOperationFilterInput
1151
+ instanceId: StringOperationFilterInput
1152
+ namespace: StringOperationFilterInput
1153
+ }
1154
+
1155
+ input BeaconSortInput {
1156
+ distance: SortEnumType @cost(weight: "10")
1157
+ calibration: SortEnumType @cost(weight: "10")
1158
+ phone: SortEnumType @cost(weight: "10")
1159
+ emailAddress: SortEnumType @cost(weight: "10")
1160
+ website: SortEnumType @cost(weight: "10")
1161
+ rating: SortEnumType @cost(weight: "10")
1162
+ uuid: SortEnumType @cost(weight: "10")
1163
+ major: SortEnumType @cost(weight: "10")
1164
+ minor: SortEnumType @cost(weight: "10")
1165
+ notificationDelay: SortEnumType @cost(weight: "10")
1166
+ instanceId: SortEnumType @cost(weight: "10")
1167
+ namespace: SortEnumType @cost(weight: "10")
1168
+ }
1169
+
1170
+ input BooleanOperationFilterInput {
1171
+ eq: Boolean @cost(weight: "10")
1172
+ neq: Boolean @cost(weight: "10")
1173
+ }
1174
+
1175
+ input ByteOperationFilterInput {
1176
+ eq: Byte @cost(weight: "10")
1177
+ neq: Byte @cost(weight: "10")
1178
+ in: [Byte] @cost(weight: "10")
1179
+ nin: [Byte] @cost(weight: "10")
1180
+ gt: Byte @cost(weight: "10")
1181
+ ngt: Byte @cost(weight: "10")
1182
+ gte: Byte @cost(weight: "10")
1183
+ ngte: Byte @cost(weight: "10")
1184
+ lt: Byte @cost(weight: "10")
1185
+ nlt: Byte @cost(weight: "10")
1186
+ lte: Byte @cost(weight: "10")
1187
+ nlte: Byte @cost(weight: "10")
1188
+ }
1189
+
1190
+ input ConditionFilterInput {
1191
+ and: [ConditionFilterInput!]
1192
+ or: [ConditionFilterInput!]
1193
+ "Condition type"
1194
+ type: ConditionTypeOperationFilterInput
1195
+ "Logical operator for combining multiple conditions"
1196
+ operator: NullableOfConditionOperatorOperationFilterInput
1197
+ "Value 1. See ConditionType documentation for usage notes."
1198
+ value1: StringOperationFilterInput
1199
+ "Value 2. See ConditionType documentation for usage notes."
1200
+ value2: StringOperationFilterInput
1201
+ "Value 3. See ConditionType documentation for usage notes."
1202
+ value3: StringOperationFilterInput
1203
+ "Value 4. See ConditionType documentation for usage notes."
1204
+ value4: StringOperationFilterInput
1205
+ }
1206
+
1207
+ input ConditionTypeOperationFilterInput {
1208
+ eq: ConditionType @cost(weight: "10")
1209
+ neq: ConditionType @cost(weight: "10")
1210
+ in: [ConditionType!] @cost(weight: "10")
1211
+ nin: [ConditionType!] @cost(weight: "10")
1212
+ }
1213
+
1214
+ input DateTimeOperationFilterInput {
1215
+ eq: DateTime @cost(weight: "10")
1216
+ neq: DateTime @cost(weight: "10")
1217
+ in: [DateTime] @cost(weight: "10")
1218
+ nin: [DateTime] @cost(weight: "10")
1219
+ gt: DateTime @cost(weight: "10")
1220
+ ngt: DateTime @cost(weight: "10")
1221
+ gte: DateTime @cost(weight: "10")
1222
+ ngte: DateTime @cost(weight: "10")
1223
+ lt: DateTime @cost(weight: "10")
1224
+ nlt: DateTime @cost(weight: "10")
1225
+ lte: DateTime @cost(weight: "10")
1226
+ nlte: DateTime @cost(weight: "10")
1227
+ }
1228
+
1229
+ input DecimalOperationFilterInput {
1230
+ eq: Decimal @cost(weight: "10")
1231
+ neq: Decimal @cost(weight: "10")
1232
+ in: [Decimal] @cost(weight: "10")
1233
+ nin: [Decimal] @cost(weight: "10")
1234
+ gt: Decimal @cost(weight: "10")
1235
+ ngt: Decimal @cost(weight: "10")
1236
+ gte: Decimal @cost(weight: "10")
1237
+ ngte: Decimal @cost(weight: "10")
1238
+ lt: Decimal @cost(weight: "10")
1239
+ nlt: Decimal @cost(weight: "10")
1240
+ lte: Decimal @cost(weight: "10")
1241
+ nlte: Decimal @cost(weight: "10")
1242
+ }
1243
+
1244
+ "Device model"
1245
+ input DeviceFilterInput {
1246
+ and: [DeviceFilterInput!]
1247
+ or: [DeviceFilterInput!]
1248
+ "The device id"
1249
+ id: StringOperationFilterInput
1250
+ "The device name"
1251
+ name: StringOperationFilterInput
1252
+ "The group name"
1253
+ groupName: StringOperationFilterInput
1254
+ "The group id"
1255
+ groupId: StringOperationFilterInput
1256
+ "Tags associated with this device"
1257
+ tags: StringOperationFilterInput
1258
+ "The device type"
1259
+ deviceType: DeviceTypeFilterInput
1260
+ "The date the device was registered"
1261
+ enteredService: DateTimeOperationFilterInput
1262
+ "The last service date"
1263
+ lastService: DateTimeOperationFilterInput
1264
+ "The timezone of the device"
1265
+ timezone: StringOperationFilterInput
1266
+ "The language code of the device"
1267
+ languageCode: StringOperationFilterInput
1268
+ "The timestamp of the last content sync with the server"
1269
+ lastUpdate: DateTimeOperationFilterInput
1270
+ "The physical location\/address of the device"
1271
+ location: LocationFilterInput
1272
+ "The device ping\/heartbeat data"
1273
+ pingData: PingDataFilterInput
1274
+ "The device registration key"
1275
+ registrationKey: StringOperationFilterInput
1276
+ "The encrypted registration key"
1277
+ encryptedRegistrationKey: StringOperationFilterInput
1278
+ "The device MAC address, if applicable"
1279
+ macAddress: StringOperationFilterInput
1280
+ "Beacon information for the device, if applicable"
1281
+ beacon: BeaconFilterInput
1282
+ "The device service level"
1283
+ serviceLevel: StringOperationFilterInput
1284
+ "Is the device content in sync with server"
1285
+ inSync: BooleanOperationFilterInput
1286
+ "The device serial number"
1287
+ serialNumber: StringOperationFilterInput
1288
+ "Is the device deactivated"
1289
+ deactivated: BooleanOperationFilterInput
1290
+ "The device notes"
1291
+ notes: StringOperationFilterInput
1292
+ """
1293
+ Is the device currently online.
1294
+ A device is considered online if it has a timestamp within the last 5 minutes
1295
+ """
1296
+ isOnline: BooleanOperationFilterInput
1297
+ }
1298
+
1299
+ "Device model"
1300
+ input DeviceSortInput {
1301
+ "The device id"
1302
+ id: SortEnumType @cost(weight: "10")
1303
+ "The device name"
1304
+ name: SortEnumType @cost(weight: "10")
1305
+ "The group name"
1306
+ groupName: SortEnumType @cost(weight: "10")
1307
+ "The group id"
1308
+ groupId: SortEnumType @cost(weight: "10")
1309
+ "Tags associated with this device"
1310
+ tags: SortEnumType @cost(weight: "10")
1311
+ "The device type"
1312
+ deviceType: DeviceTypeSortInput @cost(weight: "10")
1313
+ "The date the device was registered"
1314
+ enteredService: SortEnumType @cost(weight: "10")
1315
+ "The last service date"
1316
+ lastService: SortEnumType @cost(weight: "10")
1317
+ "The timezone of the device"
1318
+ timezone: SortEnumType @cost(weight: "10")
1319
+ "The language code of the device"
1320
+ languageCode: SortEnumType @cost(weight: "10")
1321
+ "The timestamp of the last content sync with the server"
1322
+ lastUpdate: SortEnumType @cost(weight: "10")
1323
+ "The physical location\/address of the device"
1324
+ location: LocationSortInput @cost(weight: "10")
1325
+ "The device ping\/heartbeat data"
1326
+ pingData: PingDataSortInput @cost(weight: "10")
1327
+ "The device registration key"
1328
+ registrationKey: SortEnumType @cost(weight: "10")
1329
+ "The encrypted registration key"
1330
+ encryptedRegistrationKey: SortEnumType @cost(weight: "10")
1331
+ "The device MAC address, if applicable"
1332
+ macAddress: SortEnumType @cost(weight: "10")
1333
+ "Beacon information for the device, if applicable"
1334
+ beacon: BeaconSortInput @cost(weight: "10")
1335
+ "The device service level"
1336
+ serviceLevel: SortEnumType @cost(weight: "10")
1337
+ "Is the device content in sync with server"
1338
+ inSync: SortEnumType @cost(weight: "10")
1339
+ "The device serial number"
1340
+ serialNumber: SortEnumType @cost(weight: "10")
1341
+ "Is the device deactivated"
1342
+ deactivated: SortEnumType @cost(weight: "10")
1343
+ "The device notes"
1344
+ notes: SortEnumType @cost(weight: "10")
1345
+ """
1346
+ Is the device currently online.
1347
+ A device is considered online if it has a timestamp within the last 5 minutes
1348
+ """
1349
+ isOnline: SortEnumType @cost(weight: "10")
1350
+ }
1351
+
1352
+ input DeviceTypeFilterInput {
1353
+ and: [DeviceTypeFilterInput!]
1354
+ or: [DeviceTypeFilterInput!]
1355
+ id: StringOperationFilterInput
1356
+ name: StringOperationFilterInput
1357
+ manufacturer: StringOperationFilterInput
1358
+ deviceCaps: IntOperationFilterInput
1359
+ }
1360
+
1361
+ input DeviceTypeSortInput {
1362
+ id: SortEnumType @cost(weight: "10")
1363
+ name: SortEnumType @cost(weight: "10")
1364
+ manufacturer: SortEnumType @cost(weight: "10")
1365
+ deviceCaps: SortEnumType @cost(weight: "10")
1366
+ }
1367
+
1368
+ input FloatOperationFilterInput {
1369
+ eq: Float @cost(weight: "10")
1370
+ neq: Float @cost(weight: "10")
1371
+ in: [Float] @cost(weight: "10")
1372
+ nin: [Float] @cost(weight: "10")
1373
+ gt: Float @cost(weight: "10")
1374
+ ngt: Float @cost(weight: "10")
1375
+ gte: Float @cost(weight: "10")
1376
+ ngte: Float @cost(weight: "10")
1377
+ lt: Float @cost(weight: "10")
1378
+ nlt: Float @cost(weight: "10")
1379
+ lte: Float @cost(weight: "10")
1380
+ nlte: Float @cost(weight: "10")
1381
+ }
1382
+
1383
+ "Group model"
1384
+ input GroupFilterInput {
1385
+ and: [GroupFilterInput!]
1386
+ or: [GroupFilterInput!]
1387
+ "The group id"
1388
+ id: StringOperationFilterInput
1389
+ "The group name"
1390
+ name: StringOperationFilterInput
1391
+ "The parent group id"
1392
+ parentId: StringOperationFilterInput
1393
+ "The number of items in this group"
1394
+ count: IntOperationFilterInput
1395
+ "The nested level of this group"
1396
+ level: IntOperationFilterInput
1397
+ "The family id"
1398
+ family: LongOperationFilterInput
1399
+ "The organization count"
1400
+ organizationCount: IntOperationFilterInput
1401
+ "The children groups"
1402
+ children: ListFilterInputTypeOfGroupFilterInput
1403
+ }
1404
+
1405
+ "Group model"
1406
+ input GroupSortInput {
1407
+ "The group id"
1408
+ id: SortEnumType @cost(weight: "10")
1409
+ "The group name"
1410
+ name: SortEnumType @cost(weight: "10")
1411
+ "The parent group id"
1412
+ parentId: SortEnumType @cost(weight: "10")
1413
+ "The number of items in this group"
1414
+ count: SortEnumType @cost(weight: "10")
1415
+ "The nested level of this group"
1416
+ level: SortEnumType @cost(weight: "10")
1417
+ "The family id"
1418
+ family: SortEnumType @cost(weight: "10")
1419
+ "The organization count"
1420
+ organizationCount: SortEnumType @cost(weight: "10")
1421
+ }
1422
+
1423
+ input IntOperationFilterInput {
1424
+ eq: Int @cost(weight: "10")
1425
+ neq: Int @cost(weight: "10")
1426
+ in: [Int] @cost(weight: "10")
1427
+ nin: [Int] @cost(weight: "10")
1428
+ gt: Int @cost(weight: "10")
1429
+ ngt: Int @cost(weight: "10")
1430
+ gte: Int @cost(weight: "10")
1431
+ ngte: Int @cost(weight: "10")
1432
+ lt: Int @cost(weight: "10")
1433
+ nlt: Int @cost(weight: "10")
1434
+ lte: Int @cost(weight: "10")
1435
+ nlte: Int @cost(weight: "10")
1436
+ }
1437
+
1438
+ input KeyValuePairOfStringAndObjectFilterInput {
1439
+ and: [KeyValuePairOfStringAndObjectFilterInput!]
1440
+ or: [KeyValuePairOfStringAndObjectFilterInput!]
1441
+ key: StringOperationFilterInput
1442
+ }
1443
+
1444
+ input KeyValuePairOfStringAndStringFilterInput {
1445
+ and: [KeyValuePairOfStringAndStringFilterInput!]
1446
+ or: [KeyValuePairOfStringAndStringFilterInput!]
1447
+ key: StringOperationFilterInput
1448
+ value: StringOperationFilterInput
1449
+ }
1450
+
1451
+ input ListByteOperationFilterInput {
1452
+ all: ByteOperationFilterInput @cost(weight: "10")
1453
+ none: ByteOperationFilterInput @cost(weight: "10")
1454
+ some: ByteOperationFilterInput @cost(weight: "10")
1455
+ any: Boolean @cost(weight: "10")
1456
+ }
1457
+
1458
+ input ListFilterInputTypeOfConditionFilterInput {
1459
+ all: ConditionFilterInput @cost(weight: "10")
1460
+ none: ConditionFilterInput @cost(weight: "10")
1461
+ some: ConditionFilterInput @cost(weight: "10")
1462
+ any: Boolean @cost(weight: "10")
1463
+ }
1464
+
1465
+ input ListFilterInputTypeOfGroupFilterInput {
1466
+ all: GroupFilterInput @cost(weight: "10")
1467
+ none: GroupFilterInput @cost(weight: "10")
1468
+ some: GroupFilterInput @cost(weight: "10")
1469
+ any: Boolean @cost(weight: "10")
1470
+ }
1471
+
1472
+ input ListFilterInputTypeOfKeyValuePairOfStringAndObjectFilterInput {
1473
+ all: KeyValuePairOfStringAndObjectFilterInput @cost(weight: "10")
1474
+ none: KeyValuePairOfStringAndObjectFilterInput @cost(weight: "10")
1475
+ some: KeyValuePairOfStringAndObjectFilterInput @cost(weight: "10")
1476
+ any: Boolean @cost(weight: "10")
1477
+ }
1478
+
1479
+ input ListFilterInputTypeOfKeyValuePairOfStringAndStringFilterInput {
1480
+ all: KeyValuePairOfStringAndStringFilterInput @cost(weight: "10")
1481
+ none: KeyValuePairOfStringAndStringFilterInput @cost(weight: "10")
1482
+ some: KeyValuePairOfStringAndStringFilterInput @cost(weight: "10")
1483
+ any: Boolean @cost(weight: "10")
1484
+ }
1485
+
1486
+ input ListFilterInputTypeOfModuleFilterInput {
1487
+ all: ModuleFilterInput @cost(weight: "10")
1488
+ none: ModuleFilterInput @cost(weight: "10")
1489
+ some: ModuleFilterInput @cost(weight: "10")
1490
+ any: Boolean @cost(weight: "10")
1491
+ }
1492
+
1493
+ input ListFilterInputTypeOfScheduleDeviceFilterInput {
1494
+ all: ScheduleDeviceFilterInput @cost(weight: "10")
1495
+ none: ScheduleDeviceFilterInput @cost(weight: "10")
1496
+ some: ScheduleDeviceFilterInput @cost(weight: "10")
1497
+ any: Boolean @cost(weight: "10")
1498
+ }
1499
+
1500
+ input ListFilterInputTypeOfSourceFilterInput {
1501
+ all: SourceFilterInput @cost(weight: "10")
1502
+ none: SourceFilterInput @cost(weight: "10")
1503
+ some: SourceFilterInput @cost(weight: "10")
1504
+ any: Boolean @cost(weight: "10")
1505
+ }
1506
+
1507
+ input ListStringOperationFilterInput {
1508
+ all: StringOperationFilterInput @cost(weight: "10")
1509
+ none: StringOperationFilterInput @cost(weight: "10")
1510
+ some: StringOperationFilterInput @cost(weight: "10")
1511
+ any: Boolean @cost(weight: "10")
1512
+ }
1513
+
1514
+ input LocationFilterInput {
1515
+ and: [LocationFilterInput!]
1516
+ or: [LocationFilterInput!]
1517
+ "City"
1518
+ city: StringOperationFilterInput
1519
+ "State"
1520
+ state: StringOperationFilterInput
1521
+ "County"
1522
+ county: StringOperationFilterInput
1523
+ "Country"
1524
+ country: StringOperationFilterInput
1525
+ "Postal code"
1526
+ postalCode: StringOperationFilterInput
1527
+ "Address"
1528
+ address: StringOperationFilterInput
1529
+ "Latitude"
1530
+ latitude: DecimalOperationFilterInput
1531
+ "Longitude"
1532
+ longitude: DecimalOperationFilterInput
1533
+ }
1534
+
1535
+ input LocationSortInput {
1536
+ "City"
1537
+ city: SortEnumType @cost(weight: "10")
1538
+ "State"
1539
+ state: SortEnumType @cost(weight: "10")
1540
+ "County"
1541
+ county: SortEnumType @cost(weight: "10")
1542
+ "Country"
1543
+ country: SortEnumType @cost(weight: "10")
1544
+ "Postal code"
1545
+ postalCode: SortEnumType @cost(weight: "10")
1546
+ "Address"
1547
+ address: SortEnumType @cost(weight: "10")
1548
+ "Latitude"
1549
+ latitude: SortEnumType @cost(weight: "10")
1550
+ "Longitude"
1551
+ longitude: SortEnumType @cost(weight: "10")
1552
+ }
1553
+
1554
+ input LongOperationFilterInput {
1555
+ eq: Long @cost(weight: "10")
1556
+ neq: Long @cost(weight: "10")
1557
+ in: [Long] @cost(weight: "10")
1558
+ nin: [Long] @cost(weight: "10")
1559
+ gt: Long @cost(weight: "10")
1560
+ ngt: Long @cost(weight: "10")
1561
+ gte: Long @cost(weight: "10")
1562
+ ngte: Long @cost(weight: "10")
1563
+ lt: Long @cost(weight: "10")
1564
+ nlt: Long @cost(weight: "10")
1565
+ lte: Long @cost(weight: "10")
1566
+ nlte: Long @cost(weight: "10")
1567
+ }
1568
+
1569
+ "Media model"
1570
+ input MediaFilterInput {
1571
+ and: [MediaFilterInput!]
1572
+ or: [MediaFilterInput!]
1573
+ "The media id"
1574
+ id: StringOperationFilterInput
1575
+ "The group name"
1576
+ groupName: StringOperationFilterInput
1577
+ "The MIME type for this media"
1578
+ mimeType: StringOperationFilterInput
1579
+ "The file size in bytes"
1580
+ fileSize: IntOperationFilterInput
1581
+ "The file name"
1582
+ fileName: StringOperationFilterInput
1583
+ "The file URL"
1584
+ fileUrl: StringOperationFilterInput
1585
+ "The thumbnail URL"
1586
+ thumbnailUrl: StringOperationFilterInput
1587
+ "The date the media was uploaded"
1588
+ uploadedOn: DateTimeOperationFilterInput
1589
+ "The user id that uploaded the media"
1590
+ uploadedBy: StringOperationFilterInput
1591
+ "The SHA512 hash of the media file"
1592
+ sha512: StringOperationFilterInput
1593
+ "The width of the media"
1594
+ width: IntOperationFilterInput
1595
+ "The height of the media"
1596
+ height: IntOperationFilterInput
1597
+ "The media name"
1598
+ name: StringOperationFilterInput
1599
+ "The group id"
1600
+ groupId: StringOperationFilterInput
1601
+ "The tags associated with this media"
1602
+ tags: StringOperationFilterInput
1603
+ "The advertiser id. Optional"
1604
+ advertiserId: StringOperationFilterInput
1605
+ "Is this media shared with other accounts"
1606
+ isShared: BooleanOperationFilterInput
1607
+ "The start date for this media"
1608
+ startDate: DateTimeOperationFilterInput
1609
+ "The end date for this media"
1610
+ endDate: DateTimeOperationFilterInput
1611
+ }
1612
+
1613
+ "Media model"
1614
+ input MediaSortInput {
1615
+ "The media id"
1616
+ id: SortEnumType @cost(weight: "10")
1617
+ "The group name"
1618
+ groupName: SortEnumType @cost(weight: "10")
1619
+ "The MIME type for this media"
1620
+ mimeType: SortEnumType @cost(weight: "10")
1621
+ "The file size in bytes"
1622
+ fileSize: SortEnumType @cost(weight: "10")
1623
+ "The file name"
1624
+ fileName: SortEnumType @cost(weight: "10")
1625
+ "The file URL"
1626
+ fileUrl: SortEnumType @cost(weight: "10")
1627
+ "The thumbnail URL"
1628
+ thumbnailUrl: SortEnumType @cost(weight: "10")
1629
+ "The date the media was uploaded"
1630
+ uploadedOn: SortEnumType @cost(weight: "10")
1631
+ "The user id that uploaded the media"
1632
+ uploadedBy: SortEnumType @cost(weight: "10")
1633
+ "The SHA512 hash of the media file"
1634
+ sha512: SortEnumType @cost(weight: "10")
1635
+ "The width of the media"
1636
+ width: SortEnumType @cost(weight: "10")
1637
+ "The height of the media"
1638
+ height: SortEnumType @cost(weight: "10")
1639
+ "The media name"
1640
+ name: SortEnumType @cost(weight: "10")
1641
+ "The group id"
1642
+ groupId: SortEnumType @cost(weight: "10")
1643
+ "The tags associated with this media"
1644
+ tags: SortEnumType @cost(weight: "10")
1645
+ "The advertiser id. Optional"
1646
+ advertiserId: SortEnumType @cost(weight: "10")
1647
+ "Is this media shared with other accounts"
1648
+ isShared: SortEnumType @cost(weight: "10")
1649
+ "The start date for this media"
1650
+ startDate: SortEnumType @cost(weight: "10")
1651
+ "The end date for this media"
1652
+ endDate: SortEnumType @cost(weight: "10")
1653
+ }
1654
+
1655
+ input ModuleFilterInput {
1656
+ and: [ModuleFilterInput!]
1657
+ or: [ModuleFilterInput!]
1658
+ "Module id"
1659
+ id: StringOperationFilterInput
1660
+ "Module name"
1661
+ name: StringOperationFilterInput
1662
+ "Module type"
1663
+ type: StringOperationFilterInput
1664
+ "Left position"
1665
+ left: IntOperationFilterInput
1666
+ "Top position"
1667
+ top: IntOperationFilterInput
1668
+ "Width"
1669
+ width: IntOperationFilterInput
1670
+ "Height"
1671
+ height: IntOperationFilterInput
1672
+ "Playlist assigned to this module"
1673
+ playlistId: StringOperationFilterInput
1674
+ "Sequence or Z-Order"
1675
+ sequence: IntOperationFilterInput
1676
+ }
1677
+
1678
+ input NullableOfAdHawkAgeRangeOperationFilterInput {
1679
+ eq: AdHawkAgeRange @cost(weight: "10")
1680
+ neq: AdHawkAgeRange @cost(weight: "10")
1681
+ in: [AdHawkAgeRange] @cost(weight: "10")
1682
+ nin: [AdHawkAgeRange] @cost(weight: "10")
1683
+ }
1684
+
1685
+ input NullableOfAdHawkGenderOperationFilterInput {
1686
+ eq: AdHawkGender @cost(weight: "10")
1687
+ neq: AdHawkGender @cost(weight: "10")
1688
+ in: [AdHawkGender] @cost(weight: "10")
1689
+ nin: [AdHawkGender] @cost(weight: "10")
1690
+ }
1691
+
1692
+ input NullableOfConditionOperatorOperationFilterInput {
1693
+ eq: ConditionOperator @cost(weight: "10")
1694
+ neq: ConditionOperator @cost(weight: "10")
1695
+ in: [ConditionOperator] @cost(weight: "10")
1696
+ nin: [ConditionOperator] @cost(weight: "10")
1697
+ }
1698
+
1699
+ input NullableOfLoopPolicyTypeOperationFilterInput {
1700
+ eq: LoopPolicyType @cost(weight: "10")
1701
+ neq: LoopPolicyType @cost(weight: "10")
1702
+ in: [LoopPolicyType] @cost(weight: "10")
1703
+ nin: [LoopPolicyType] @cost(weight: "10")
1704
+ }
1705
+
1706
+ input PingDataFilterInput {
1707
+ and: [PingDataFilterInput!]
1708
+ or: [PingDataFilterInput!]
1709
+ "Ping type"
1710
+ type: StringOperationFilterInput
1711
+ "Snapshot (screenshot) of live player content"
1712
+ snap: ListByteOperationFilterInput
1713
+ "Player version number"
1714
+ playerVersion: StringOperationFilterInput
1715
+ "Player OS version"
1716
+ osVersion: StringOperationFilterInput
1717
+ """
1718
+ CPU usage (percentage)
1719
+ Value range [0, 100]
1720
+ """
1721
+ cpuUsage: FloatOperationFilterInput
1722
+ """
1723
+ Memory usage (percentage)
1724
+ Value range [0, 100]
1725
+ """
1726
+ memoryUsage: FloatOperationFilterInput
1727
+ "MAC address of primary player network interface"
1728
+ macAddress: StringOperationFilterInput
1729
+ """
1730
+ Disk usage (percentage)
1731
+ Value range [0, 100]
1732
+ """
1733
+ diskUsage: FloatOperationFilterInput
1734
+ """
1735
+ Timestamp of this ping.
1736
+ Device is considered offline if this timestamp is older than 10 minutes
1737
+ """
1738
+ timestamp: DateTimeOperationFilterInput
1739
+ "Bytes recieved by this player"
1740
+ bytesReceived: LongOperationFilterInput
1741
+ "Current transfer rate over the primary network interface"
1742
+ transferRate: LongOperationFilterInput
1743
+ "IP address of the primary network interface"
1744
+ ipAddress: StringOperationFilterInput
1745
+ "Current location of the player (latitude)"
1746
+ latitude: FloatOperationFilterInput
1747
+ "Current location of the player (longitude)"
1748
+ longitude: FloatOperationFilterInput
1749
+ "Currently running schedule"
1750
+ currentSchedule: StringOperationFilterInput
1751
+ "Current uptime of the player (milliseconds)"
1752
+ uptime: LongOperationFilterInput
1753
+ "IP address as seen by the server for this device"
1754
+ externalIpAddress: StringOperationFilterInput
1755
+ "Package download progress (percentage)"
1756
+ downloadPctComplete: LongOperationFilterInput
1757
+ "Dictionary of meta data"
1758
+ meta: ListFilterInputTypeOfKeyValuePairOfStringAndStringFilterInput
1759
+ "Current CPU temperature"
1760
+ cpuTemperature: FloatOperationFilterInput
1761
+ }
1762
+
1763
+ input PingDataSortInput {
1764
+ "Ping type"
1765
+ type: SortEnumType @cost(weight: "10")
1766
+ "Player version number"
1767
+ playerVersion: SortEnumType @cost(weight: "10")
1768
+ "Player OS version"
1769
+ osVersion: SortEnumType @cost(weight: "10")
1770
+ """
1771
+ CPU usage (percentage)
1772
+ Value range [0, 100]
1773
+ """
1774
+ cpuUsage: SortEnumType @cost(weight: "10")
1775
+ """
1776
+ Memory usage (percentage)
1777
+ Value range [0, 100]
1778
+ """
1779
+ memoryUsage: SortEnumType @cost(weight: "10")
1780
+ "MAC address of primary player network interface"
1781
+ macAddress: SortEnumType @cost(weight: "10")
1782
+ """
1783
+ Disk usage (percentage)
1784
+ Value range [0, 100]
1785
+ """
1786
+ diskUsage: SortEnumType @cost(weight: "10")
1787
+ """
1788
+ Timestamp of this ping.
1789
+ Device is considered offline if this timestamp is older than 10 minutes
1790
+ """
1791
+ timestamp: SortEnumType @cost(weight: "10")
1792
+ "Bytes recieved by this player"
1793
+ bytesReceived: SortEnumType @cost(weight: "10")
1794
+ "Current transfer rate over the primary network interface"
1795
+ transferRate: SortEnumType @cost(weight: "10")
1796
+ "IP address of the primary network interface"
1797
+ ipAddress: SortEnumType @cost(weight: "10")
1798
+ "Current location of the player (latitude)"
1799
+ latitude: SortEnumType @cost(weight: "10")
1800
+ "Current location of the player (longitude)"
1801
+ longitude: SortEnumType @cost(weight: "10")
1802
+ "Currently running schedule"
1803
+ currentSchedule: SortEnumType @cost(weight: "10")
1804
+ "Current uptime of the player (milliseconds)"
1805
+ uptime: SortEnumType @cost(weight: "10")
1806
+ "IP address as seen by the server for this device"
1807
+ externalIpAddress: SortEnumType @cost(weight: "10")
1808
+ "Package download progress (percentage)"
1809
+ downloadPctComplete: SortEnumType @cost(weight: "10")
1810
+ "Current CPU temperature"
1811
+ cpuTemperature: SortEnumType @cost(weight: "10")
1812
+ }
1813
+
1814
+ "Playlist model"
1815
+ input PlaylistFilterInput {
1816
+ and: [PlaylistFilterInput!]
1817
+ or: [PlaylistFilterInput!]
1818
+ "The playlist id"
1819
+ id: StringOperationFilterInput
1820
+ "The playlist name"
1821
+ name: StringOperationFilterInput
1822
+ "The group name"
1823
+ groupName: StringOperationFilterInput
1824
+ "The group id"
1825
+ groupId: StringOperationFilterInput
1826
+ "The tags associated with this playlist"
1827
+ tags: StringOperationFilterInput
1828
+ "The playlist type"
1829
+ type: PlaylistTypeOperationFilterInput
1830
+ "Total duration for this playlist. Used in conjunction with loop policy"
1831
+ duration: IntOperationFilterInput
1832
+ "Randomize the order of the playlist"
1833
+ isRandomStart: BooleanOperationFilterInput
1834
+ "The date the playlist was created"
1835
+ createdOn: DateTimeOperationFilterInput
1836
+ "The user id that created the playlist"
1837
+ createdById: StringOperationFilterInput
1838
+ "The date the playlist was last modified"
1839
+ modifiedOn: DateTimeOperationFilterInput
1840
+ "The user id that last modified the playlist"
1841
+ modifiedById: StringOperationFilterInput
1842
+ "The sources associated with this playlist"
1843
+ sources: ListFilterInputTypeOfSourceFilterInput
1844
+ }
1845
+
1846
+ "Playlist model"
1847
+ input PlaylistSortInput {
1848
+ "The playlist id"
1849
+ id: SortEnumType @cost(weight: "10")
1850
+ "The playlist name"
1851
+ name: SortEnumType @cost(weight: "10")
1852
+ "The group name"
1853
+ groupName: SortEnumType @cost(weight: "10")
1854
+ "The group id"
1855
+ groupId: SortEnumType @cost(weight: "10")
1856
+ "The tags associated with this playlist"
1857
+ tags: SortEnumType @cost(weight: "10")
1858
+ "The playlist type"
1859
+ type: SortEnumType @cost(weight: "10")
1860
+ "Total duration for this playlist. Used in conjunction with loop policy"
1861
+ duration: SortEnumType @cost(weight: "10")
1862
+ "Randomize the order of the playlist"
1863
+ isRandomStart: SortEnumType @cost(weight: "10")
1864
+ "The date the playlist was created"
1865
+ createdOn: SortEnumType @cost(weight: "10")
1866
+ "The user id that created the playlist"
1867
+ createdById: SortEnumType @cost(weight: "10")
1868
+ "The date the playlist was last modified"
1869
+ modifiedOn: SortEnumType @cost(weight: "10")
1870
+ "The user id that last modified the playlist"
1871
+ modifiedById: SortEnumType @cost(weight: "10")
1872
+ }
1873
+
1874
+ input PlaylistTypeOperationFilterInput {
1875
+ eq: PlaylistType @cost(weight: "10")
1876
+ neq: PlaylistType @cost(weight: "10")
1877
+ in: [PlaylistType!] @cost(weight: "10")
1878
+ nin: [PlaylistType!] @cost(weight: "10")
1879
+ }
1880
+
1881
+ input ScheduleDeviceFilterInput {
1882
+ and: [ScheduleDeviceFilterInput!]
1883
+ or: [ScheduleDeviceFilterInput!]
1884
+ "The device id"
1885
+ id: StringOperationFilterInput
1886
+ }
1887
+
1888
+ input ScheduleFilterInput {
1889
+ and: [ScheduleFilterInput!]
1890
+ or: [ScheduleFilterInput!]
1891
+ "The schedule id"
1892
+ id: StringOperationFilterInput
1893
+ "The name of the group to which the schedule belongs"
1894
+ groupName: StringOperationFilterInput
1895
+ "The date the schedule was created"
1896
+ createdOn: DateTimeOperationFilterInput
1897
+ "The user id that created the schedule"
1898
+ createdById: StringOperationFilterInput
1899
+ "The date the schedule was last modified"
1900
+ modifiedOn: DateTimeOperationFilterInput
1901
+ "The user id that last modified the schedule"
1902
+ modifiedById: StringOperationFilterInput
1903
+ "The name of the schedule"
1904
+ name: StringOperationFilterInput
1905
+ "The group id to which the schedule belongs"
1906
+ groupId: StringOperationFilterInput
1907
+ "The tags associated with the schedule"
1908
+ tags: StringOperationFilterInput
1909
+ """
1910
+ Enabled this schedule for playback on Monday.
1911
+ Only applicable for Playlist and Template schedules.
1912
+ """
1913
+ monday: BooleanOperationFilterInput
1914
+ """
1915
+ Enabled this schedule for playback on Tuesday.
1916
+ Only applicable for Playlist and Template schedules.
1917
+ """
1918
+ tuesday: BooleanOperationFilterInput
1919
+ """
1920
+ Enabled this schedule for playback on Wednesday.
1921
+ Only applicable for Playlist and Template schedules.
1922
+ """
1923
+ wednesday: BooleanOperationFilterInput
1924
+ """
1925
+ Enabled this schedule for playback on Thursday.
1926
+ Only applicable for Playlist and Template schedules.
1927
+ """
1928
+ thursday: BooleanOperationFilterInput
1929
+ """
1930
+ Enabled this schedule for playback on Friday.
1931
+ Only applicable for Playlist and Template schedules.
1932
+ """
1933
+ friday: BooleanOperationFilterInput
1934
+ """
1935
+ Enabled this schedule for playback on Saturday.
1936
+ Only applicable for Playlist and Template schedules.
1937
+ """
1938
+ saturday: BooleanOperationFilterInput
1939
+ """
1940
+ Enabled this schedule for playback on Sunday.
1941
+ Only applicable for Playlist and Template schedules.
1942
+ """
1943
+ sunday: BooleanOperationFilterInput
1944
+ """
1945
+ The start date for the schedule.
1946
+ Only applicable for Playlist and Template schedules.
1947
+ """
1948
+ startDate: StringOperationFilterInput
1949
+ """
1950
+ The end date for the schedule.
1951
+ Only applicable for Playlist and Template schedules.
1952
+ """
1953
+ endDate: StringOperationFilterInput
1954
+ """
1955
+ The start time for the schedule.
1956
+ Only applicable for Playlist and Template schedules.
1957
+ """
1958
+ startTime: StringOperationFilterInput
1959
+ """
1960
+ The end time for the schedule.
1961
+ Only applicable for Playlist and Template schedules.
1962
+ """
1963
+ endTime: StringOperationFilterInput
1964
+ """
1965
+ The template id for the schedule.
1966
+ Only applicable for Playlist and Template schedules.
1967
+ """
1968
+ templateId: StringOperationFilterInput
1969
+ """
1970
+ The playlist id for the schedule.
1971
+ Only applicable for Playlist and Template schedules.
1972
+ """
1973
+ playlistId: StringOperationFilterInput
1974
+ """
1975
+ The schedule type.
1976
+
1977
+ Playlist and Template schedules are basic schedules supporting a single template or playlist with a date and time range.
1978
+ Campaign schedules, or 'Smart Schedules', are more advanced supporting multiple templates and playlists with conditions for playback.
1979
+ """
1980
+ type: ScheduleTypeOperationFilterInput
1981
+ "The devices associated with the schedule."
1982
+ devices: ListFilterInputTypeOfScheduleDeviceFilterInput
1983
+ """
1984
+ The conditions associated with the schedule.
1985
+ Only applicable for Campaign schedules.
1986
+ """
1987
+ conditions: ListFilterInputTypeOfConditionFilterInput
1988
+ "The priority of the schedule. Higher priority schedules will take precedence over lower priority schedules."
1989
+ priority: SchedulePriorityTypeOperationFilterInput
1990
+ }
1991
+
1992
+ input SchedulePriorityTypeOperationFilterInput {
1993
+ eq: SchedulePriorityType @cost(weight: "10")
1994
+ neq: SchedulePriorityType @cost(weight: "10")
1995
+ in: [SchedulePriorityType!] @cost(weight: "10")
1996
+ nin: [SchedulePriorityType!] @cost(weight: "10")
1997
+ }
1998
+
1999
+ input ScheduleSortInput {
2000
+ "The schedule id"
2001
+ id: SortEnumType @cost(weight: "10")
2002
+ "The name of the group to which the schedule belongs"
2003
+ groupName: SortEnumType @cost(weight: "10")
2004
+ "The date the schedule was created"
2005
+ createdOn: SortEnumType @cost(weight: "10")
2006
+ "The user id that created the schedule"
2007
+ createdById: SortEnumType @cost(weight: "10")
2008
+ "The date the schedule was last modified"
2009
+ modifiedOn: SortEnumType @cost(weight: "10")
2010
+ "The user id that last modified the schedule"
2011
+ modifiedById: SortEnumType @cost(weight: "10")
2012
+ "The name of the schedule"
2013
+ name: SortEnumType @cost(weight: "10")
2014
+ "The group id to which the schedule belongs"
2015
+ groupId: SortEnumType @cost(weight: "10")
2016
+ "The tags associated with the schedule"
2017
+ tags: SortEnumType @cost(weight: "10")
2018
+ """
2019
+ Enabled this schedule for playback on Monday.
2020
+ Only applicable for Playlist and Template schedules.
2021
+ """
2022
+ monday: SortEnumType @cost(weight: "10")
2023
+ """
2024
+ Enabled this schedule for playback on Tuesday.
2025
+ Only applicable for Playlist and Template schedules.
2026
+ """
2027
+ tuesday: SortEnumType @cost(weight: "10")
2028
+ """
2029
+ Enabled this schedule for playback on Wednesday.
2030
+ Only applicable for Playlist and Template schedules.
2031
+ """
2032
+ wednesday: SortEnumType @cost(weight: "10")
2033
+ """
2034
+ Enabled this schedule for playback on Thursday.
2035
+ Only applicable for Playlist and Template schedules.
2036
+ """
2037
+ thursday: SortEnumType @cost(weight: "10")
2038
+ """
2039
+ Enabled this schedule for playback on Friday.
2040
+ Only applicable for Playlist and Template schedules.
2041
+ """
2042
+ friday: SortEnumType @cost(weight: "10")
2043
+ """
2044
+ Enabled this schedule for playback on Saturday.
2045
+ Only applicable for Playlist and Template schedules.
2046
+ """
2047
+ saturday: SortEnumType @cost(weight: "10")
2048
+ """
2049
+ Enabled this schedule for playback on Sunday.
2050
+ Only applicable for Playlist and Template schedules.
2051
+ """
2052
+ sunday: SortEnumType @cost(weight: "10")
2053
+ """
2054
+ The start date for the schedule.
2055
+ Only applicable for Playlist and Template schedules.
2056
+ """
2057
+ startDate: SortEnumType @cost(weight: "10")
2058
+ """
2059
+ The end date for the schedule.
2060
+ Only applicable for Playlist and Template schedules.
2061
+ """
2062
+ endDate: SortEnumType @cost(weight: "10")
2063
+ """
2064
+ The start time for the schedule.
2065
+ Only applicable for Playlist and Template schedules.
2066
+ """
2067
+ startTime: SortEnumType @cost(weight: "10")
2068
+ """
2069
+ The end time for the schedule.
2070
+ Only applicable for Playlist and Template schedules.
2071
+ """
2072
+ endTime: SortEnumType @cost(weight: "10")
2073
+ """
2074
+ The template id for the schedule.
2075
+ Only applicable for Playlist and Template schedules.
2076
+ """
2077
+ templateId: SortEnumType @cost(weight: "10")
2078
+ """
2079
+ The playlist id for the schedule.
2080
+ Only applicable for Playlist and Template schedules.
2081
+ """
2082
+ playlistId: SortEnumType @cost(weight: "10")
2083
+ """
2084
+ The schedule type.
2085
+
2086
+ Playlist and Template schedules are basic schedules supporting a single template or playlist with a date and time range.
2087
+ Campaign schedules, or 'Smart Schedules', are more advanced supporting multiple templates and playlists with conditions for playback.
2088
+ """
2089
+ type: SortEnumType @cost(weight: "10")
2090
+ "The priority of the schedule. Higher priority schedules will take precedence over lower priority schedules."
2091
+ priority: SortEnumType @cost(weight: "10")
2092
+ }
2093
+
2094
+ input ScheduleTypeOperationFilterInput {
2095
+ eq: ScheduleType @cost(weight: "10")
2096
+ neq: ScheduleType @cost(weight: "10")
2097
+ in: [ScheduleType!] @cost(weight: "10")
2098
+ nin: [ScheduleType!] @cost(weight: "10")
2099
+ }
2100
+
2101
+ "Source model"
2102
+ input SourceFilterInput {
2103
+ and: [SourceFilterInput!]
2104
+ or: [SourceFilterInput!]
2105
+ "The source id"
2106
+ id: StringOperationFilterInput
2107
+ "The source name"
2108
+ name: StringOperationFilterInput
2109
+ "The source type"
2110
+ type: SourceTypeOperationFilterInput
2111
+ "The sequence. Lower numbers are displayed first."
2112
+ sequence: IntOperationFilterInput
2113
+ "The media file id"
2114
+ fileId: StringOperationFilterInput
2115
+ "The template id"
2116
+ templateId: StringOperationFilterInput
2117
+ "The playlist id"
2118
+ playlistId: StringOperationFilterInput
2119
+ "The value"
2120
+ value: StringOperationFilterInput
2121
+ "The duration in seconds"
2122
+ interval: IntOperationFilterInput
2123
+ "The media associated with this source"
2124
+ media: MediaFilterInput
2125
+ """
2126
+ Loop policy for this source item.
2127
+ IMPORTANT: Only utilize when playlist has a fixed duration.
2128
+ """
2129
+ loopPolicyType: NullableOfLoopPolicyTypeOperationFilterInput
2130
+ "The conditions for this source"
2131
+ conditions: ListFilterInputTypeOfConditionFilterInput
2132
+ }
2133
+
2134
+ input SourceTypeOperationFilterInput {
2135
+ eq: SourceType @cost(weight: "10")
2136
+ neq: SourceType @cost(weight: "10")
2137
+ in: [SourceType!] @cost(weight: "10")
2138
+ nin: [SourceType!] @cost(weight: "10")
2139
+ }
2140
+
2141
+ input StringOperationFilterInput {
2142
+ and: [StringOperationFilterInput!]
2143
+ or: [StringOperationFilterInput!]
2144
+ eq: String @cost(weight: "10")
2145
+ neq: String @cost(weight: "10")
2146
+ contains: String @cost(weight: "20")
2147
+ ncontains: String @cost(weight: "20")
2148
+ in: [String] @cost(weight: "10")
2149
+ nin: [String] @cost(weight: "10")
2150
+ startsWith: String @cost(weight: "20")
2151
+ nstartsWith: String @cost(weight: "20")
2152
+ endsWith: String @cost(weight: "20")
2153
+ nendsWith: String @cost(weight: "20")
2154
+ }
2155
+
2156
+ input TemplateFilterInput {
2157
+ and: [TemplateFilterInput!]
2158
+ or: [TemplateFilterInput!]
2159
+ "Template id"
2160
+ id: StringOperationFilterInput
2161
+ "Template name"
2162
+ name: StringOperationFilterInput
2163
+ "Group name"
2164
+ groupName: StringOperationFilterInput
2165
+ "Group id"
2166
+ groupId: StringOperationFilterInput
2167
+ "Tags"
2168
+ tags: StringOperationFilterInput
2169
+ "Created on date"
2170
+ createdOn: DateTimeOperationFilterInput
2171
+ "Created by user id"
2172
+ createdById: StringOperationFilterInput
2173
+ "Modified on date"
2174
+ modifiedOn: DateTimeOperationFilterInput
2175
+ "Modified by user id"
2176
+ modifiedById: StringOperationFilterInput
2177
+ "Template script"
2178
+ script: StringOperationFilterInput
2179
+ "Template background color"
2180
+ backColor: StringOperationFilterInput
2181
+ "Width"
2182
+ width: IntOperationFilterInput
2183
+ "Height"
2184
+ height: IntOperationFilterInput
2185
+ "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
2186
+ orientation: IntOperationFilterInput
2187
+ "Modules or zones"
2188
+ modules: ListFilterInputTypeOfModuleFilterInput
2189
+ }
2190
+
2191
+ input TemplateSortInput {
2192
+ "Template id"
2193
+ id: SortEnumType @cost(weight: "10")
2194
+ "Template name"
2195
+ name: SortEnumType @cost(weight: "10")
2196
+ "Group name"
2197
+ groupName: SortEnumType @cost(weight: "10")
2198
+ "Group id"
2199
+ groupId: SortEnumType @cost(weight: "10")
2200
+ "Tags"
2201
+ tags: SortEnumType @cost(weight: "10")
2202
+ "Created on date"
2203
+ createdOn: SortEnumType @cost(weight: "10")
2204
+ "Created by user id"
2205
+ createdById: SortEnumType @cost(weight: "10")
2206
+ "Modified on date"
2207
+ modifiedOn: SortEnumType @cost(weight: "10")
2208
+ "Modified by user id"
2209
+ modifiedById: SortEnumType @cost(weight: "10")
2210
+ "Template script"
2211
+ script: SortEnumType @cost(weight: "10")
2212
+ "Template background color"
2213
+ backColor: SortEnumType @cost(weight: "10")
2214
+ "Width"
2215
+ width: SortEnumType @cost(weight: "10")
2216
+ "Height"
2217
+ height: SortEnumType @cost(weight: "10")
2218
+ "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
2219
+ orientation: SortEnumType @cost(weight: "10")
2220
+ }
2221
+
2222
+ "User model"
2223
+ input UserFilterInput {
2224
+ and: [UserFilterInput!]
2225
+ or: [UserFilterInput!]
2226
+ "The user id"
2227
+ id: StringOperationFilterInput
2228
+ "The first name"
2229
+ firstName: StringOperationFilterInput
2230
+ "The last name"
2231
+ lastName: StringOperationFilterInput
2232
+ "The city"
2233
+ city: StringOperationFilterInput
2234
+ "The state"
2235
+ state: StringOperationFilterInput
2236
+ "The postal code"
2237
+ postalCode: StringOperationFilterInput
2238
+ "The country"
2239
+ country: StringOperationFilterInput
2240
+ "The home phone number"
2241
+ homePhone: StringOperationFilterInput
2242
+ "The work phone number"
2243
+ workPhone: StringOperationFilterInput
2244
+ "The mobile phone number"
2245
+ mobilePhone: StringOperationFilterInput
2246
+ "The date the user was created"
2247
+ createdOn: DateTimeOperationFilterInput
2248
+ "The email address"
2249
+ email: StringOperationFilterInput
2250
+ "The roles assigned to this user"
2251
+ role: ListStringOperationFilterInput
2252
+ "The username"
2253
+ username: StringOperationFilterInput
2254
+ "The date the user last logged in"
2255
+ lastActivity: DateTimeOperationFilterInput
2256
+ }
2257
+
2258
+ "User model"
2259
+ input UserSortInput {
2260
+ "The user id"
2261
+ id: SortEnumType @cost(weight: "10")
2262
+ "The first name"
2263
+ firstName: SortEnumType @cost(weight: "10")
2264
+ "The last name"
2265
+ lastName: SortEnumType @cost(weight: "10")
2266
+ "The city"
2267
+ city: SortEnumType @cost(weight: "10")
2268
+ "The state"
2269
+ state: SortEnumType @cost(weight: "10")
2270
+ "The postal code"
2271
+ postalCode: SortEnumType @cost(weight: "10")
2272
+ "The country"
2273
+ country: SortEnumType @cost(weight: "10")
2274
+ "The home phone number"
2275
+ homePhone: SortEnumType @cost(weight: "10")
2276
+ "The work phone number"
2277
+ workPhone: SortEnumType @cost(weight: "10")
2278
+ "The mobile phone number"
2279
+ mobilePhone: SortEnumType @cost(weight: "10")
2280
+ "The date the user was created"
2281
+ createdOn: SortEnumType @cost(weight: "10")
2282
+ "The email address"
2283
+ email: SortEnumType @cost(weight: "10")
2284
+ "The username"
2285
+ username: SortEnumType @cost(weight: "10")
2286
+ "The date the user last logged in"
2287
+ lastActivity: SortEnumType @cost(weight: "10")
2288
+ }
2289
+
2290
+ "Age range classification for audience analytics"
2291
+ enum AdHawkAgeRange {
2292
+ "Age unknown or not detected"
2293
+ UNKNOWN
2294
+ "Under 18 years old"
2295
+ UNDER18
2296
+ "18-24 years old"
2297
+ AGE18_TO24
2298
+ "25-34 years old"
2299
+ AGE25_TO34
2300
+ "35-44 years old"
2301
+ AGE35_TO44
2302
+ "45-54 years old"
2303
+ AGE45_TO54
2304
+ "55-64 years old"
2305
+ AGE55_TO64
2306
+ "65-74 years old"
2307
+ AGE65_TO74
2308
+ "Over 74 years old"
2309
+ OVER74
2310
+ }
2311
+
2312
+ "Gender classification for audience analytics"
2313
+ enum AdHawkGender {
2314
+ "Gender unknown or not detected"
2315
+ UNKNOWN
2316
+ "Female"
2317
+ FEMALE
2318
+ "Male"
2319
+ MALE
2320
+ }
2321
+
2322
+ enum AdHawkIntervalType {
2323
+ MINUTE
2324
+ HOUR
2325
+ DAY
2326
+ WEEK
2327
+ MONTH
2328
+ }
2329
+
2330
+ "Defines when a policy shall be executed."
2331
+ enum ApplyPolicy {
2332
+ "Before the resolver was executed."
2333
+ BEFORE_RESOLVER
2334
+ "After the resolver was executed."
2335
+ AFTER_RESOLVER
2336
+ "The policy is applied in the validation step before the execution."
2337
+ VALIDATION
2338
+ }
2339
+
2340
+ enum ConditionOperator {
2341
+ AND
2342
+ OR
2343
+ AND_NOT
2344
+ OR_NOT
2345
+ }
2346
+
2347
+ """
2348
+ The following enum represents the different types of conditions that can be used in scheduling logic.
2349
+
2350
+ Important usage notes specific to ConditionType:
2351
+
2352
+ - ConditionType: "TimeRange"
2353
+ Value1: "01/01/1970 12:00:00 AM" # Start time. Starts at this time. Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2354
+ Value2: "01/01/1970 12:00:00 AM" # End time. Stops at this time. Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2355
+ Value3: null
2356
+ Value4: null
2357
+ - ConditionType: "TopicSet"
2358
+ Value1: "sports,news,weather" # Comma separted list of topics
2359
+ Value2: null
2360
+ Value3: null
2361
+ Value4: null
2362
+ - ConditionType: "TotalViewersGreaterThan"
2363
+ Value1: "50"
2364
+ Value2: null
2365
+ Value3: null
2366
+ Value4: null
2367
+ - ConditionType: "TotalViewersLessThan"
2368
+ Value1: "100"
2369
+ Value2: null
2370
+ Value3: null
2371
+ Value4: null
2372
+ - ConditionType: "TouchEvent"
2373
+ Value1: "tap"
2374
+ Value2: "screen1"
2375
+ Value3: null
2376
+ Value4: null
2377
+ - ConditionType: "WeekOfMonth"
2378
+ Value1: "2"
2379
+ Value2: null
2380
+ Value3: null
2381
+ Value4: null
2382
+ - ConditionType: "WeekOfYear"
2383
+ Value1: "25"
2384
+ Value2: null
2385
+ Value3: null
2386
+ Value4: null
2387
+ - ConditionType: "GpsWithinRadius"
2388
+ Value1: "40.7128"
2389
+ Value2: "-74.0060"
2390
+ Value3: "50"
2391
+ Value4: "miles"
2392
+ - ConditionType: "KeyEvent"
2393
+ Value1: "ENTER"
2394
+ Value2: null
2395
+ Value3: null
2396
+ Value4: null
2397
+ - ConditionType: "MonthOfYear"
2398
+ Value1: "12"
2399
+ Value2: null
2400
+ Value3: null
2401
+ Value4: null
2402
+ - ConditionType: "Motion"
2403
+ Value1: "detected"
2404
+ Value2: "5"
2405
+ Value3: null
2406
+ Value4: null
2407
+ - ConditionType: "Never"
2408
+ Value1: null
2409
+ Value2: null
2410
+ Value3: null
2411
+ Value4: null
2412
+ - ConditionType: "PctAdult"
2413
+ Value1: "60"
2414
+ Value2: ">="
2415
+ Value3: null
2416
+ Value4: null
2417
+ - ConditionType: "PctChild"
2418
+ Value1: "25"
2419
+ Value2: "<="
2420
+ Value3: null
2421
+ Value4: null
2422
+ - ConditionType: "PctFemale"
2423
+ Value1: "40"
2424
+ Value2: ">="
2425
+ Value3: null
2426
+ Value4: null
2427
+ - ConditionType: "PctMale"
2428
+ Value1: "60"
2429
+ Value2: "<="
2430
+ Value3: null
2431
+ Value4: null
2432
+ - ConditionType: "PctSenior"
2433
+ Value1: "15"
2434
+ Value2: ">="
2435
+ Value3: null
2436
+ Value4: null
2437
+ - ConditionType: "PctYoung"
2438
+ Value1: "30"
2439
+ Value2: "<="
2440
+ Value3: null
2441
+ Value4: null
2442
+ - ConditionType: "PctYoungAdult"
2443
+ Value1: "35"
2444
+ Value2: ">="
2445
+ Value3: null
2446
+ Value4: null
2447
+ - ConditionType: "AfterDate"
2448
+ Value1: "01/01/1970 12:00:00 AM" # Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2449
+ Value2: null
2450
+ Value3: null
2451
+ Value4: null
2452
+ - ConditionType: "AfterTime"
2453
+ Value1: "01/01/1970 12:00:00 AM" # Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2454
+ Value2: null
2455
+ Value3: null
2456
+ Value4: null
2457
+ - ConditionType: "Always"
2458
+ Value1: null
2459
+ Value2: null
2460
+ Value3: null
2461
+ Value4: null
2462
+ - ConditionType: "BeaconActive"
2463
+ Value1: "Beacon Name" # Name of the beacon
2464
+ Value2: "UUID / Namespace" # UUID or Namespace identifier
2465
+ Value3: "Major / Instance" # Major ID or Instance identifier
2466
+ Value4: "Minor" # Minor ID
2467
+ - ConditionType: "BeforeDate"
2468
+ Value1: "01/01/1970 12:00:00 AM" # Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2469
+ Value2: null
2470
+ Value3: null
2471
+ Value4: null
2472
+ - ConditionType: "BeforeTime"
2473
+ Value1: "01/01/1970 12:00:00 AM" # Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2474
+ Value2: null
2475
+ Value3: null
2476
+ Value4: null
2477
+ - ConditionType: "Command"
2478
+ Value1: "Command Name"
2479
+ Value2: "Command Arg"
2480
+ Value3: null
2481
+ Value4: null
2482
+ - ConditionType: "DateRange"
2483
+ Value1: "01/01/1970 12:00:00 AM" # Start date. Starts ON this date. Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2484
+ Value2: "01/01/1970 12:00:00 AM" # End date. Stops AFTER this date. Date/time format: "MM/dd/yyyy hh:mm:ss aa"
2485
+ Value3: null
2486
+ Value4: null
2487
+ - ConditionType: "DayOfMonth"
2488
+ Value1: "15"
2489
+ Value2: null
2490
+ Value3: null
2491
+ Value4: null
2492
+ - ConditionType: "DaysOfWeek"
2493
+ Value1: "10" # Integer Bitfield starting with Sunday as the least significant bit
2494
+ Value2: null
2495
+ Value3: null
2496
+ Value4: null
2497
+ - ConditionType: "DeviceByGroup" # Selects all devices in a group by the groups unique identifier
2498
+ Value1: 0 # Unique device group ID
2499
+ Value2: null
2500
+ Value3: null
2501
+ Value4: null
2502
+ - ConditionType: "DeviceByName" # Selects a device by its name. Supports regular expressions for advanced matching
2503
+ Value1: "Device Name" # Supports regular expressions
2504
+ Value2: null
2505
+ Value3: null
2506
+ Value4: null
2507
+ - ConditionType: "DeviceByNestedGroup" # Selects all devices in a group by the groups unique identifier. Includes all devices in this group and all nested groups
2508
+ Value1: 0 # Unique device group ID
2509
+ Value2: null
2510
+ Value3: null
2511
+ Value4: null
2512
+ - ConditionType: "DeviceByOrg" # Selects all devices in an organization
2513
+ Value1: 0 # Unique organization ID
2514
+ Value2: null
2515
+ Value3: null
2516
+ Value4: null
2517
+ - ConditionType: "DeviceByTag" # Selects devices by their associated tags
2518
+ Value1: "critical_infrastructure" # Newline separted list of tags
2519
+ Value2: null
2520
+ Value3: null
2521
+ Value4: null
2522
+ - ConditionType: "Everywhere"
2523
+ Value1: null
2524
+ Value2: null
2525
+ Value3: null
2526
+ Value4: null
2527
+ - ConditionType: "GeoLocation"
2528
+ Value1: "37.7749" # Latitude of the location
2529
+ Value2: "-122.4194" # Longitude of the location
2530
+ Value3: "50" # Distance in miles from geolocation"
2531
+ Value4: "123 5th St. N" # Street address of the location
2532
+ - ConditionType: "Nowhere"
2533
+ Value1: null
2534
+ Value2: null
2535
+ Value3: null
2536
+ Value4: null
2537
+ - ConditionType: "SpecificDevice"
2538
+ Value1: 0 # Unique device ID
2539
+ Value2: null
2540
+ Value3: null
2541
+ Value4: null
2542
+ """
2543
+ enum ConditionType {
2544
+ AFTER_DATE
2545
+ AFTER_TIME
2546
+ ALWAYS
2547
+ BEACON_ACTIVE
2548
+ BEFORE_DATE
2549
+ BEFORE_TIME
2550
+ COMMAND
2551
+ DATE_RANGE
2552
+ DAY_OF_MONTH
2553
+ DAYS_OF_WEEK
2554
+ DEVICE_BY_GROUP
2555
+ DEVICE_BY_NESTED_GROUP
2556
+ DEVICE_BY_NAME
2557
+ DEVICE_BY_TAG
2558
+ DEVICE_BY_ORG
2559
+ EVERYWHERE
2560
+ GEO_LOCATION
2561
+ GPS_WITHIN_RADIUS
2562
+ KEY_EVENT
2563
+ MONTH_OF_YEAR
2564
+ MOTION
2565
+ NEVER
2566
+ NOWHERE
2567
+ PCT_ADULT
2568
+ PCT_CHILD
2569
+ PCT_FEMALE
2570
+ PCT_MALE
2571
+ PCT_SENIOR
2572
+ PCT_YOUNG
2573
+ PCT_YOUNG_ADULT
2574
+ PLAYLIST_BY_NAME
2575
+ PLAYLIST_BY_TAG
2576
+ SEND_COMMAND
2577
+ SPECIFIC_DEVICE
2578
+ SPECIFIC_PLAYLIST
2579
+ SPECIFIC_TEMPLATE
2580
+ SPECIFIC_ZONE
2581
+ TEMPLATE_BY_NAME
2582
+ TEMPLATE_BY_TAG
2583
+ TIME_RANGE
2584
+ TOPIC_SET
2585
+ TOTAL_VIEWERS_GREATER_THAN
2586
+ TOTAL_VIEWERS_LESS_THAN
2587
+ TOUCH_EVENT
2588
+ WEEK_OF_MONTH
2589
+ WEEK_OF_YEAR
2590
+ }
2591
+
2592
+ """
2593
+ Loop policy type determines how a source is to generatively positioned within a loop.
2594
+ IMPORTANT: Playlist duration must be set for this to take effect. If no playlist duration is specified, then source loop policy should not be assigned.
2595
+ """
2596
+ enum LoopPolicyType {
2597
+ "1 play per loop"
2598
+ DEFAULT
2599
+ "2 plays per loop"
2600
+ OVER_SATURATE2X
2601
+ "3 plays per loop"
2602
+ OVER_SATURATE3X
2603
+ "4 plays per loop"
2604
+ OVER_SATURATE4X
2605
+ "5 plays per loop"
2606
+ OVER_SATURATE5X
2607
+ "Source is randomly positioned in the loop"
2608
+ RANDOM
2609
+ "1 play for every 2 loops"
2610
+ UNDER_SATURATE2X
2611
+ "1 play for every 3 loops"
2612
+ UNDER_SATURATE3X
2613
+ "1 play for every 4 loops"
2614
+ UNDER_SATURATE4X
2615
+ "1 play for every 5 loops"
2616
+ UNDER_SATURATE5X
2617
+ "Fill the beginning of the loop with this source"
2618
+ PREFILL
2619
+ "Fill the end of the loop with this source"
2620
+ POSTFILL
2621
+ "Fill the loop evenly throughout the loop"
2622
+ SPREADFILL
2623
+ }
2624
+
2625
+ enum PlaylistType {
2626
+ GALLERY
2627
+ IMAGE
2628
+ TEMPLATE
2629
+ TICKER
2630
+ }
2631
+
2632
+ enum SchedulePriorityType {
2633
+ NORMAL
2634
+ HIGH
2635
+ HIGHEST
2636
+ LOWEST
2637
+ LOW
2638
+ }
2639
+
2640
+ """
2641
+ The following schedule types are available:
2642
+
2643
+ - Playlist
2644
+ Playlist is considered a basic schedule consisting of a single playlist with a date range, time range, and days of the week.
2645
+ Schedule properties to consider when using this type include the following: start_date, end_date, start_time, end_time, playlist_id, and monday-sunday
2646
+
2647
+ - Template
2648
+ Template is considered a basic schedule consisting of a single template with a date range, time range, and days of the week.
2649
+ Schedule properties to consider when using this type include the following: start_date, end_date, start_time, end_time, template_id, and monday-sunday
2650
+
2651
+ - Campaign
2652
+ Campaign schedules, or 'Smart Schedules', are more advanced consisting of multiple conditions logically grouped to
2653
+ determine what, when, and where content is played.
2654
+ Schedule properties to consider when using this type include an array of conditions.
2655
+ """
2656
+ enum ScheduleType {
2657
+ "Playlist schedule"
2658
+ PLAYLIST
2659
+ "Template schedule"
2660
+ TEMPLATE
2661
+ "Campaign, or 'Smart Schedule' utilizes a set of rules to determine what content to play."
2662
+ CAMPAIGN
2663
+ }
2664
+
2665
+ enum SortEnumType {
2666
+ ASC
2667
+ DESC
2668
+ }
2669
+
2670
+ enum SourceType {
2671
+ AUDIO
2672
+ COMMAND
2673
+ FLASH
2674
+ GADGET
2675
+ IMAGE
2676
+ PDF
2677
+ PLACE_EXCHANGE
2678
+ PLAYLIST
2679
+ POWER_POINT
2680
+ RSS
2681
+ SVG
2682
+ TEMPLATE
2683
+ TEXT
2684
+ TWITTER
2685
+ URL
2686
+ VIDEO
2687
+ VISTAR_MEDIA
2688
+ WEB_PAGE
2689
+ YOU_TUBE
2690
+ VISTAR_MEDIA_EX
2691
+ }
2692
+
2693
+ "The authorize directive."
2694
+ directive @authorize("The name of the authorization policy that determines access to the annotated resource." policy: String "Roles that are allowed to access the annotated resource." roles: [String!] "Defines when when the authorize directive shall be applied.By default the authorize directives are applied during the validation phase." apply: ApplyPolicy! = BEFORE_RESOLVER) repeatable on OBJECT | FIELD_DEFINITION
2695
+
2696
+ "The purpose of the `cost` directive is to define a `weight` for GraphQL types, fields, and arguments. Static analysis can use these weights when calculating the overall cost of a query or response."
2697
+ directive @cost("The `weight` argument defines what value to add to the overall cost for every appearance, or possible appearance, of a type, field, argument, etc." weight: String!) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | ENUM | INPUT_FIELD_DEFINITION
2698
+
2699
+ "The `@specifiedBy` directive is used within the type system definition language to provide a URL for specifying the behavior of custom scalar definitions."
2700
+ directive @specifiedBy("The specifiedBy URL points to a human-readable specification. This field will only read a result for scalar types." url: String!) on SCALAR
2701
+
2702
+ "The `Byte` scalar type represents non-fractional whole numeric values. Byte can represent values between 0 and 255."
2703
+ scalar Byte
2704
+
2705
+ "The `DateTime` scalar represents an ISO-8601 compliant date time type."
2706
+ scalar DateTime @specifiedBy(url: "https:\/\/www.graphql-scalars.com\/date-time")
2707
+
2708
+ "The `Decimal` scalar type represents a decimal floating-point number."
2709
+ scalar Decimal
2710
+
2711
+ "The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1."
2712
+ scalar Long