@prismatic-io/components-zoom 0.0.0-stage → 0.0.1

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.
@@ -0,0 +1,3885 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ let _prismatic_io_spectral = require("@prismatic-io/spectral");
24
+ let _prismatic_io_spectral_http = require("@prismatic-io/spectral/http");
25
+ let node_crypto = require("node:crypto");
26
+ node_crypto = __toESM(node_crypto);
27
+ var connections_default = [(0, _prismatic_io_spectral.oauth2Connection)({
28
+ key: "oauth",
29
+ display: {
30
+ label: "OAuth 2.0",
31
+ description: "OAuth 2.0 flow"
32
+ },
33
+ oauth2Type: _prismatic_io_spectral.OAuth2Type.AuthorizationCode,
34
+ inputs: {
35
+ authorizeUrl: {
36
+ label: "Authorize URL",
37
+ placeholder: "Authorize URL",
38
+ type: "string",
39
+ required: true,
40
+ shown: false,
41
+ default: "https://zoom.us/oauth/authorize",
42
+ comments: "The OAuth 2.0 Authorization URL for Zoom."
43
+ },
44
+ tokenUrl: {
45
+ label: "Token URL",
46
+ placeholder: "Token URL",
47
+ type: "string",
48
+ required: true,
49
+ shown: false,
50
+ default: "https://zoom.us/oauth/token",
51
+ comments: "The OAuth 2.0 Token URL for Zoom."
52
+ },
53
+ scopes: {
54
+ label: "Scopes",
55
+ placeholder: "Scopes",
56
+ type: "string",
57
+ required: false,
58
+ shown: false,
59
+ default: "",
60
+ comments: "Scopes are configured when a Zoom OAuth 2.0 app is created."
61
+ },
62
+ clientId: {
63
+ label: "Client ID",
64
+ placeholder: "Client ID",
65
+ example: "Xh2mKp8eL9qRZtvn3JcWY",
66
+ type: "string",
67
+ required: true,
68
+ shown: true,
69
+ comments: "Client Identifier of your app for Zoom."
70
+ },
71
+ clientSecret: {
72
+ label: "Client Secret",
73
+ placeholder: "Client Secret",
74
+ type: "password",
75
+ example: "9Xk7Lm2QaT6v8eZR1BjH4NW83YdpT54C",
76
+ required: true,
77
+ shown: true,
78
+ comments: "Client Secret of your app for Zoom."
79
+ }
80
+ }
81
+ }), (0, _prismatic_io_spectral.oauth2Connection)({
82
+ key: "serverToServer",
83
+ oauth2Type: _prismatic_io_spectral.OAuth2Type.ClientCredentials,
84
+ display: {
85
+ label: "Server to Server",
86
+ description: "Server to Server connection"
87
+ },
88
+ inputs: (0, _prismatic_io_spectral.templateConnectionInputs)({
89
+ clientId: {
90
+ label: "Client ID",
91
+ placeholder: "Client ID",
92
+ example: "Xy_TnL72KMEpWqJZAVb9Hr",
93
+ type: "string",
94
+ required: true,
95
+ shown: true,
96
+ comments: "Client Identifier of your server to server app for Zoom."
97
+ },
98
+ clientSecret: {
99
+ label: "Client Secret",
100
+ placeholder: "Client Secret",
101
+ example: "9Xk7Lm2QaT6v8eZR1BjH4NW83YdpT54C",
102
+ type: "password",
103
+ required: true,
104
+ shown: true,
105
+ comments: "Client Secret of your server to server app for Zoom."
106
+ },
107
+ accountId: {
108
+ label: "Account ID",
109
+ placeholder: "Account ID",
110
+ example: "J-x8MT9LWqvDNFuzKAbR3Z",
111
+ type: "string",
112
+ required: true,
113
+ shown: true,
114
+ comments: "Account Identifier of your server to server app for Zoom."
115
+ },
116
+ scopes: {
117
+ label: "Scopes",
118
+ placeholder: "Scopes",
119
+ type: "string",
120
+ required: false,
121
+ shown: false
122
+ }
123
+ }, { tokenUrl: {
124
+ label: "Token URL",
125
+ placeholder: "Token URL",
126
+ type: "template",
127
+ required: true,
128
+ templateValue: "https://zoom.us/oauth/token?grant_type=account_credentials&account_id={{#accountId}}"
129
+ } }, _prismatic_io_spectral.OAuth2Type.ClientCredentials)
130
+ })];
131
+ //#endregion
132
+ //#region src/client.ts
133
+ const getToken = ({ connection }) => {
134
+ if (connections_default.map((c) => c.key).includes(connection.key)) {
135
+ if (!connection.token?.access_token) throw new _prismatic_io_spectral.ConnectionError(connection, "Received valid Connection but it did not contain an access token.");
136
+ return `Bearer ${_prismatic_io_spectral.util.types.toString(connection.token.access_token)}`;
137
+ }
138
+ throw new _prismatic_io_spectral.ConnectionError(connection, "Unknown Connection type provided.");
139
+ };
140
+ const createZoomClient = ({ connection, debug }) => {
141
+ return (0, _prismatic_io_spectral_http.createClient)({
142
+ baseUrl: `https://api.zoom.us/v2`,
143
+ headers: {
144
+ Authorization: getToken({ connection }),
145
+ "Content-Type": "Application/JSON"
146
+ },
147
+ debug
148
+ });
149
+ };
150
+ //#endregion
151
+ //#region src/util.ts
152
+ const computeZoomVerifyHash = (webhookToken, message) => {
153
+ return node_crypto.default.createHmac("sha256", webhookToken).update(message).digest("hex");
154
+ };
155
+ const cleanStringInput = (value) => value ? _prismatic_io_spectral.util.types.toString(value) : void 0;
156
+ const cleanCodeInput = (value) => {
157
+ if (value) return _prismatic_io_spectral.util.types.toObject(value);
158
+ };
159
+ const cleanNumberInput = (value) => value ? _prismatic_io_spectral.util.types.toNumber(value) : void 0;
160
+ const cleanStringValueListInput = (value) => {
161
+ if (value && Array.isArray(value)) return value.map(cleanStringInput).filter(Boolean);
162
+ };
163
+ const getAllPaginationResults = async (client, endpoint, attribute, queryParameters) => {
164
+ let nextPageToken = null;
165
+ const results = [];
166
+ do {
167
+ const data = (await client.get(endpoint, { params: {
168
+ ...queryParameters,
169
+ next_page_token: nextPageToken
170
+ } })).data;
171
+ const attributeValue = data[attribute];
172
+ if (Array.isArray(attributeValue)) results.push(...attributeValue);
173
+ nextPageToken = data.next_page_token;
174
+ } while (nextPageToken);
175
+ return { [attribute]: results };
176
+ };
177
+ //#endregion
178
+ //#region src/constants.ts
179
+ const CUSTOM_ATTRIBUTES_DEFAULT = [{
180
+ key: "cbf_cywdkexrtqc73f97gd4w6g",
181
+ name: "A1",
182
+ value: "1"
183
+ }];
184
+ const PHONE_NUMBERS_DEFAULT = [{
185
+ code: "+1",
186
+ country: "US",
187
+ label: "Mobile",
188
+ number: "5550100"
189
+ }];
190
+ const SETTINGS_EXTRA_FIELDS_DEFAULT = {
191
+ additional_data_center_regions: ["TY"],
192
+ allow_multiple_devices: true,
193
+ alternative_hosts: "jchill@example.com;thill@example.com",
194
+ alternative_hosts_email_notification: true,
195
+ approved_or_denied_countries_or_regions: {
196
+ approved_list: ["CX"],
197
+ denied_list: ["CA"],
198
+ enable: true,
199
+ method: "approve"
200
+ },
201
+ audio_conference_info: "test",
202
+ authentication_domains: "example.com",
203
+ authentication_exception: [{
204
+ email: "jchill@example.com",
205
+ name: "Jill Chill"
206
+ }],
207
+ authentication_option: "signIn_D8cJuqWVQ623CI4Q8yQK0Q",
208
+ breakout_room: {
209
+ enable: true,
210
+ rooms: [{
211
+ name: "room1",
212
+ participants: ["jchill@example.com"]
213
+ }]
214
+ },
215
+ calendar_type: 1,
216
+ close_registration: false,
217
+ contact_email: "jchill@example.com",
218
+ contact_name: "Jill Chill",
219
+ email_notification: true,
220
+ encryption_type: "enhanced_encryption",
221
+ focus_mode: true,
222
+ jbh_time: 0,
223
+ language_interpretation: {
224
+ enable: true,
225
+ interpreters: [{
226
+ email: "interpreter@example.com",
227
+ languages: "US,FR"
228
+ }]
229
+ },
230
+ sign_language_interpretation: {
231
+ enable: true,
232
+ interpreters: [{
233
+ email: "interpreter@example.com",
234
+ sign_language: "American"
235
+ }]
236
+ },
237
+ meeting_authentication: true,
238
+ meeting_invitees: [{ email: "jchill@example.com" }],
239
+ private_meeting: false,
240
+ registrants_confirmation_email: true,
241
+ show_share_button: true,
242
+ waiting_room: false,
243
+ host_save_video_order: true,
244
+ alternative_host_update_polls: true,
245
+ internal_meeting: false,
246
+ continuous_meeting_chat: {
247
+ enable: true,
248
+ auto_add_invited_external_users: true
249
+ },
250
+ participant_focused_meeting: false,
251
+ push_change_to_calendar: false,
252
+ resources: [{
253
+ resource_type: "whiteboard",
254
+ resource_id: "X4Hy02w3QUOdskKofgb9Jg",
255
+ permission_level: "editor"
256
+ }],
257
+ auto_start_meeting_summary: false,
258
+ auto_start_ai_companion_questions: false
259
+ };
260
+ const TRACKING_FIELDS_DEFAULT = [{
261
+ field: "field1",
262
+ value: "value1"
263
+ }];
264
+ const ZOOM_ONE_TYPE_OFF = {
265
+ label: "Turn off Zoom One license.",
266
+ value: "0"
267
+ };
268
+ const ZOOM_ONE_TYPES = [
269
+ {
270
+ label: "Zoom One Business Plus with US/CA Unlimited.",
271
+ value: "16"
272
+ },
273
+ {
274
+ label: "Zoom One Business Plus with UK/IR Unlimited.",
275
+ value: "32"
276
+ },
277
+ {
278
+ label: "Zoom One Business Plus with AU/NZ Unlimited.",
279
+ value: "64"
280
+ },
281
+ {
282
+ label: "Zoom One Business Plus with Japan Unlimited.",
283
+ value: "128"
284
+ },
285
+ {
286
+ label: "Zoom One Business Plus with Global Select.",
287
+ value: "33554432"
288
+ },
289
+ {
290
+ label: "Zoom One Enterprise Premier with US/CA Unlimited.",
291
+ value: "134217728"
292
+ },
293
+ {
294
+ label: "Zoom One Enterprise Premier with AU/NZ Unlimited.",
295
+ value: "1073741824"
296
+ },
297
+ {
298
+ label: "Zoom One Enterprise Premier with UK/IR Unlimited.",
299
+ value: "536870912"
300
+ },
301
+ {
302
+ label: "Zoom One Enterprise Premier with Japan Unlimited.",
303
+ value: "268435456"
304
+ },
305
+ {
306
+ label: "Zoom One Business Plus for Gov accounts.",
307
+ value: "16"
308
+ },
309
+ {
310
+ label: "Zoom One for Education School and Campus.",
311
+ value: "18014398509481984"
312
+ },
313
+ {
314
+ label: "Zoom One for Education Enterprise Essentials.",
315
+ value: "72057594037927936"
316
+ },
317
+ {
318
+ label: "Zoom One for Education Enterprise Student.",
319
+ value: "576460752303423488"
320
+ },
321
+ {
322
+ label: "Zoom One for Education Enterprise Plus.",
323
+ value: "144115188075855872"
324
+ },
325
+ {
326
+ label: "Zoom One for Education School and Campus Plus with US/CA Unlimited.",
327
+ value: "137438953472"
328
+ },
329
+ {
330
+ label: "Zoom One for Education School and Campus Plus with AU/NZ Unlimited.",
331
+ value: "1099511627776"
332
+ },
333
+ {
334
+ label: "Zoom One for Education School and Campus Plus with UK/IR Unlimited.",
335
+ value: "549755813888"
336
+ },
337
+ {
338
+ label: "Zoom One for Education School and Campus Plus with Japan Unlimited.",
339
+ value: "274877906944"
340
+ },
341
+ {
342
+ label: "Zoom One for Education School and Campus Plus with Global Select.",
343
+ value: "2199023255552"
344
+ },
345
+ {
346
+ label: "Zoom One for Education Enterprise Premier with US/CA Unlimited.",
347
+ value: "4294967296"
348
+ },
349
+ {
350
+ label: "Zoom One for Education Enterprise Premier with AU/NZ Unlimited.",
351
+ value: "34359738368"
352
+ },
353
+ {
354
+ label: "Zoom One for Education Enterprise Premier with UK/IR Unlimited.",
355
+ value: "17179869184"
356
+ },
357
+ {
358
+ label: "Zoom One for Education Enterprise Premier with Japan Unlimited.",
359
+ value: "8589934592"
360
+ },
361
+ {
362
+ label: "Zoom One for Education Enterprise Premier with Global Select.",
363
+ value: "68719476736"
364
+ }
365
+ ];
366
+ const ZOOM_UNITED_PLANS = [
367
+ {
368
+ label: "Zoom United Pro-United with US/CA Unlimited.",
369
+ value: "1"
370
+ },
371
+ {
372
+ label: "Zoom United Pro-United with UK/IR Unlimited.",
373
+ value: "2"
374
+ },
375
+ {
376
+ label: "Zoom United Pro-United with AU/NZ Unlimited.",
377
+ value: "4"
378
+ },
379
+ {
380
+ label: "Zoom United Pro-United with Global Select.",
381
+ value: "8"
382
+ },
383
+ {
384
+ label: "Zoom United Pro-United with Zoom Phone Pro.",
385
+ value: "16"
386
+ },
387
+ {
388
+ label: "Zoom United Biz-United with US/CA Unlimited.",
389
+ value: "32"
390
+ },
391
+ {
392
+ label: "Zoom United Biz-United with UK/IR Unlimited.",
393
+ value: "64"
394
+ },
395
+ {
396
+ label: "Zoom United Biz-United with AU/NZ Unlimited.",
397
+ value: "128"
398
+ },
399
+ {
400
+ label: "Zoom United Biz-United with Global Select.",
401
+ value: "256"
402
+ },
403
+ {
404
+ label: "Zoom United Biz-United with Zoom Phone Pro.",
405
+ value: "512"
406
+ },
407
+ {
408
+ label: "Zoom United Ent-United with US/CA Unlimited.",
409
+ value: "1024"
410
+ },
411
+ {
412
+ label: "Zoom United Ent-United with UK/IR Unlimited.",
413
+ value: "2048"
414
+ },
415
+ {
416
+ label: "Zoom United Ent-United with AU/NZ Unlimited.",
417
+ value: "4096"
418
+ },
419
+ {
420
+ label: "Zoom United Ent-United with Global Select.",
421
+ value: "8192"
422
+ },
423
+ {
424
+ label: "Zoom United Ent-United with Zoom Phone Pro.",
425
+ value: "16384"
426
+ },
427
+ {
428
+ label: "Zoom United Pro-United with JP Unlimited.",
429
+ value: "32768"
430
+ },
431
+ {
432
+ label: "Zoom United Biz-United with JP Unlimited.",
433
+ value: "65536"
434
+ },
435
+ {
436
+ label: "Zoom United Ent-United with JP Unlimited.",
437
+ value: "131072"
438
+ }
439
+ ];
440
+ const ZOOM_UNITED_PLAN_OFF = {
441
+ label: "Turn off Zoom United type.",
442
+ value: "none"
443
+ };
444
+ const LOGIN_TYPES = [
445
+ {
446
+ label: "Facebook OAuth",
447
+ value: "0"
448
+ },
449
+ {
450
+ label: "Google OAuth",
451
+ value: "1"
452
+ },
453
+ {
454
+ label: "Apple OAuth",
455
+ value: "24"
456
+ },
457
+ {
458
+ label: "Microsoft OAuth",
459
+ value: "27"
460
+ },
461
+ {
462
+ label: "Mobile device",
463
+ value: "97"
464
+ },
465
+ {
466
+ label: "RingCentral OAuth",
467
+ value: "98"
468
+ },
469
+ {
470
+ label: "API user",
471
+ value: "99"
472
+ },
473
+ {
474
+ label: "Zoom Work email",
475
+ value: "100"
476
+ },
477
+ {
478
+ label: "Single Sign-On (SSO)",
479
+ value: "101"
480
+ },
481
+ {
482
+ label: "Phone number",
483
+ value: "11"
484
+ },
485
+ {
486
+ label: "WeChat",
487
+ value: "21"
488
+ },
489
+ {
490
+ label: "Alipay",
491
+ value: "23"
492
+ }
493
+ ];
494
+ //#endregion
495
+ //#region src/inputs.ts
496
+ const connection = (0, _prismatic_io_spectral.input)({
497
+ label: "Connection",
498
+ type: "connection",
499
+ required: true
500
+ });
501
+ const userId = (0, _prismatic_io_spectral.input)({
502
+ label: "User Id",
503
+ type: "string",
504
+ required: true,
505
+ comments: "Provide the unique identifier of a user.",
506
+ example: "aB9kLmNsYxErt3VzjKp-2w",
507
+ placeholder: "aB9kLmNsYxErt3VzjKp-2w",
508
+ dataSource: "selectUser",
509
+ clean: cleanStringInput
510
+ });
511
+ const webinarId = (0, _prismatic_io_spectral.input)({
512
+ label: "Webinar Id",
513
+ type: "string",
514
+ required: true,
515
+ comments: "Provide the unique identifier of a webinar.",
516
+ example: "81279432123",
517
+ placeholder: "81279432123",
518
+ dataSource: "selectWebinar",
519
+ clean: cleanStringInput
520
+ });
521
+ const meetingId = (0, _prismatic_io_spectral.input)({
522
+ label: "Meeting Id",
523
+ type: "string",
524
+ required: true,
525
+ comments: "Provide the unique identifier of a meeting.",
526
+ example: "81279432123",
527
+ placeholder: "81279432123",
528
+ dataSource: "selectMeeting",
529
+ clean: cleanStringInput
530
+ });
531
+ const userAction = (0, _prismatic_io_spectral.input)({
532
+ label: "User Action",
533
+ type: "string",
534
+ required: true,
535
+ model: [
536
+ {
537
+ label: "Create",
538
+ value: "create"
539
+ },
540
+ {
541
+ label: "Auto Create",
542
+ value: "autoCreate"
543
+ },
544
+ {
545
+ label: "Cust Create",
546
+ value: "custCreate"
547
+ },
548
+ {
549
+ label: "SSO Create",
550
+ value: "ssoCreate"
551
+ }
552
+ ],
553
+ comments: "The action to take to create the new user.",
554
+ default: "create",
555
+ clean: cleanStringInput
556
+ });
557
+ const email = (0, _prismatic_io_spectral.input)({
558
+ label: "Email",
559
+ type: "string",
560
+ required: true,
561
+ comments: "Provide a valid email address.",
562
+ example: "someone@example.com",
563
+ placeholder: "someone@example.com",
564
+ clean: cleanStringInput
565
+ });
566
+ const userType = (0, _prismatic_io_spectral.input)({
567
+ label: "User Type",
568
+ type: "string",
569
+ required: true,
570
+ comments: "The value provided will determine the type of user that will be created.",
571
+ model: [
572
+ {
573
+ label: "Basic",
574
+ value: "1"
575
+ },
576
+ {
577
+ label: "Licensed",
578
+ value: "2"
579
+ },
580
+ {
581
+ label: "SSO Create (none)",
582
+ value: "99"
583
+ }
584
+ ],
585
+ clean: cleanNumberInput
586
+ });
587
+ const firstName = (0, _prismatic_io_spectral.input)({
588
+ label: "First Name",
589
+ type: "string",
590
+ required: true,
591
+ comments: "Provide a string value for the first name.",
592
+ example: "John",
593
+ placeholder: "John",
594
+ clean: cleanStringInput
595
+ });
596
+ const lastName = (0, _prismatic_io_spectral.input)({
597
+ label: "Last Name",
598
+ type: "string",
599
+ required: true,
600
+ comments: "Provide a string value for the last name",
601
+ example: "Doe",
602
+ placeholder: "Doe",
603
+ clean: cleanStringInput
604
+ });
605
+ const personalMeetingId = (0, _prismatic_io_spectral.input)({
606
+ label: "Personal Meeting Id",
607
+ type: "string",
608
+ required: false,
609
+ comments: "Provide an integer value for the personal meeting Id of a user.",
610
+ example: "1234567890",
611
+ placeholder: "1234567890",
612
+ clean: cleanNumberInput
613
+ });
614
+ const timezone = (0, _prismatic_io_spectral.input)({
615
+ label: "Timezone",
616
+ type: "string",
617
+ required: false,
618
+ comments: "Provide a string value for a valid timezone. Refer to the Id value in the timezone list: https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones",
619
+ example: "America/New_York",
620
+ placeholder: "America/New_York",
621
+ clean: cleanStringInput
622
+ });
623
+ const department = (0, _prismatic_io_spectral.input)({
624
+ label: "Timezone",
625
+ type: "string",
626
+ required: false,
627
+ comments: "Provide a string value for the department of the user.",
628
+ example: "Example Department",
629
+ placeholder: "Example Department",
630
+ clean: cleanStringInput
631
+ });
632
+ const vanityName = (0, _prismatic_io_spectral.input)({
633
+ label: "Vanity Name",
634
+ type: "string",
635
+ required: false,
636
+ comments: "This value will determine the name of your personal meeting room.",
637
+ example: "Example Name",
638
+ placeholder: "Example Name",
639
+ clean: cleanStringInput
640
+ });
641
+ const hostKey = (0, _prismatic_io_spectral.input)({
642
+ label: "Host Key",
643
+ type: "string",
644
+ required: false,
645
+ comments: "Provide a 6-10 digit value for the host key of the user.",
646
+ example: "4692486817",
647
+ placeholder: "4692486817",
648
+ clean: cleanStringInput
649
+ });
650
+ const cmsUserId = (0, _prismatic_io_spectral.input)({
651
+ label: "CMS User Id",
652
+ type: "string",
653
+ required: false,
654
+ comments: "Provide a string value for the user Id in the CMS.",
655
+ example: "KDcuGIm1QgePTO8WbOqwIQ",
656
+ placeholder: "KDcuGIm1QgePTO8WbOqwIQ",
657
+ clean: cleanStringInput
658
+ });
659
+ const jobTitle = (0, _prismatic_io_spectral.input)({
660
+ label: "Job Title",
661
+ type: "string",
662
+ required: false,
663
+ comments: "Provide a string value for the job title.",
664
+ example: "Graphic Designer",
665
+ placeholder: "Graphic Designer",
666
+ clean: cleanStringInput
667
+ });
668
+ const company = (0, _prismatic_io_spectral.input)({
669
+ label: "Company",
670
+ type: "string",
671
+ required: false,
672
+ comments: "Provide a string value for the company.",
673
+ example: "Acme Inc.",
674
+ placeholder: "Acme Inc.",
675
+ clean: cleanStringInput
676
+ });
677
+ const location = (0, _prismatic_io_spectral.input)({
678
+ label: "Location",
679
+ type: "string",
680
+ required: false,
681
+ comments: "Provide a string value for the location.",
682
+ example: "United States",
683
+ placeholder: "United States",
684
+ clean: cleanStringInput
685
+ });
686
+ (0, _prismatic_io_spectral.input)({
687
+ label: "Phone Number",
688
+ type: "string",
689
+ required: false,
690
+ comments: "Provide a string value for the phone number.",
691
+ example: "16055551234",
692
+ placeholder: "16055551234",
693
+ clean: cleanStringInput
694
+ });
695
+ const meetingType = (0, _prismatic_io_spectral.input)({
696
+ label: "Type",
697
+ type: "string",
698
+ required: true,
699
+ comments: "Provide a value from the provided list.",
700
+ default: "2",
701
+ model: [
702
+ {
703
+ label: "Instant meeting",
704
+ value: "1"
705
+ },
706
+ {
707
+ label: "Scheduled meeting",
708
+ value: "2"
709
+ },
710
+ {
711
+ label: "Recurring meeting (No Fixed Time)",
712
+ value: "3"
713
+ },
714
+ {
715
+ label: "Recurring meeting (Fixed Time)",
716
+ value: "8"
717
+ },
718
+ {
719
+ label: "Screen share only meeting ",
720
+ value: "10"
721
+ }
722
+ ],
723
+ clean: cleanNumberInput
724
+ });
725
+ const topic = (0, _prismatic_io_spectral.input)({
726
+ label: "Topic",
727
+ type: "string",
728
+ required: false,
729
+ comments: "Provide a string value for the topic.",
730
+ example: "Daily Meeting",
731
+ placeholder: "Daily Meeting",
732
+ clean: cleanStringInput
733
+ });
734
+ const startTime = (0, _prismatic_io_spectral.input)({
735
+ label: "Start Time",
736
+ type: "string",
737
+ required: false,
738
+ comments: "The meeting's start time. This field is only used for scheduled or recurring meetings with a fixed time. This supports local time and GMT formats.",
739
+ example: "2021-12-15T12:02:00Z",
740
+ placeholder: "2021-12-15T12:02:00Z",
741
+ clean: cleanStringInput
742
+ });
743
+ const duration = (0, _prismatic_io_spectral.input)({
744
+ label: "Duration",
745
+ type: "string",
746
+ required: false,
747
+ comments: "Provide a value for the duration in minutes. This field is only used for scheduled meetings.",
748
+ example: "60",
749
+ placeholder: "60",
750
+ clean: cleanNumberInput
751
+ });
752
+ const password = (0, _prismatic_io_spectral.input)({
753
+ label: "Password",
754
+ type: "string",
755
+ required: false,
756
+ comments: "Provide a value up to 10 characters for the password.",
757
+ example: "examplePass",
758
+ placeholder: "examplePass",
759
+ clean: cleanStringInput
760
+ });
761
+ const agenda = (0, _prismatic_io_spectral.input)({
762
+ label: "Agenda",
763
+ type: "string",
764
+ required: false,
765
+ comments: "Provide a string value for the agenda. This property has a maximum length of 2,000 characters.",
766
+ example: "In this meeting we will discuss...",
767
+ placeholder: "In this meeting we will discuss...",
768
+ clean: cleanStringInput
769
+ });
770
+ const recurrence = (0, _prismatic_io_spectral.input)({
771
+ label: "Type Recurrence",
772
+ type: "string",
773
+ required: false,
774
+ comments: "Pick a value from the provided list. This field is required only if you are scheduling a recurring meeting.",
775
+ model: [
776
+ {
777
+ label: "Daily",
778
+ value: "1"
779
+ },
780
+ {
781
+ label: "Weekly",
782
+ value: "2"
783
+ },
784
+ {
785
+ label: "Monthly",
786
+ value: "3"
787
+ }
788
+ ],
789
+ clean: cleanNumberInput
790
+ });
791
+ const repeatInterval = (0, _prismatic_io_spectral.input)({
792
+ label: "Repeat Interval",
793
+ type: "string",
794
+ required: false,
795
+ comments: "Define the interval when the meeting should recur. For instance, to schedule a meeting that recurs every two months, set this field's value as 2 and the value of the Type field as 3.",
796
+ example: "1",
797
+ placeholder: "1",
798
+ clean: cleanNumberInput
799
+ });
800
+ const weeklyDay = (0, _prismatic_io_spectral.input)({
801
+ label: "Weekly Day",
802
+ type: "string",
803
+ required: false,
804
+ comments: "This field is required if you're scheduling a recurring meeting of Type 2 to state the days of the week when the meeting should repeat. The value for this field could be a number between 1 to 7. For instance, if the meeting should recur on Sunday, provide 1 as this field's value. To set the meeting to occur on multiple days of a week, provide comma separated values for this field like 1,3 to set the meeting to occur on Sunday and Tuesday.",
805
+ example: "1",
806
+ placeholder: "1",
807
+ clean: cleanStringInput
808
+ });
809
+ const monthlyDay = (0, _prismatic_io_spectral.input)({
810
+ label: "Monthly Day",
811
+ type: "string",
812
+ required: false,
813
+ comments: "Provide a value from 1-31 to determine which days of the month your meeting will occur on. For instance if you want your meeting to occur every 5th of each month, provide a 5. This field is required if you selected Type 3 for recurrence. ",
814
+ example: "15",
815
+ placeholder: "15",
816
+ clean: cleanStringInput
817
+ });
818
+ const monthlyWeek = (0, _prismatic_io_spectral.input)({
819
+ label: "Monthly Week",
820
+ type: "string",
821
+ required: false,
822
+ comments: "Use this field only if you're scheduling a recurring meeting of Type 3 to state the week of the month when the meeting should recur. If you use this field, you must also use the Monthly Week Day field to state the day of the week when the meeting should recur.",
823
+ model: [
824
+ {
825
+ label: "Last Week",
826
+ value: "-1"
827
+ },
828
+ {
829
+ label: "First Week",
830
+ value: "1"
831
+ },
832
+ {
833
+ label: "Second Week",
834
+ value: "2"
835
+ },
836
+ {
837
+ label: "Third Week",
838
+ value: "3"
839
+ },
840
+ {
841
+ label: "Fourth Week",
842
+ value: "4"
843
+ }
844
+ ],
845
+ clean: cleanNumberInput
846
+ });
847
+ const monthlyWeekDay = (0, _prismatic_io_spectral.input)({
848
+ label: "Monthly Week Day",
849
+ type: "string",
850
+ required: false,
851
+ comments: "Use this field only if you're scheduling a recurring meeting of Type 3 to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the Monthly Week field. Provide a value from 1 being Sunday to 7 being Saturday.",
852
+ example: "1",
853
+ placeholder: "1",
854
+ clean: cleanNumberInput
855
+ });
856
+ const endDateTime = (0, _prismatic_io_spectral.input)({
857
+ label: "End Date Time",
858
+ type: "string",
859
+ required: false,
860
+ comments: "Select the final date when the meeting will recur before it is canceled. Cannot be used with the 'End Times' input.",
861
+ example: "2017-11-25T12:00:00Z",
862
+ placeholder: "2017-11-25T12:00:00Z",
863
+ clean: cleanStringInput
864
+ });
865
+ const endTimes = (0, _prismatic_io_spectral.input)({
866
+ label: "End Times",
867
+ type: "string",
868
+ required: false,
869
+ comments: "Select how many times the meeting should recur before it is canceled. If set to 0, it means there is no end time. The maximum number of recurring is 60. Cannot be used with the 'End Date Time' input.",
870
+ default: "1",
871
+ example: "5",
872
+ placeholder: "5",
873
+ clean: cleanNumberInput
874
+ });
875
+ const hostVideo = (0, _prismatic_io_spectral.input)({
876
+ label: "Host Video On Start",
877
+ type: "boolean",
878
+ required: false,
879
+ comments: "This flag will determine if the host's video is turned on by default.",
880
+ clean: _prismatic_io_spectral.util.types.toBool
881
+ });
882
+ const participantVideo = (0, _prismatic_io_spectral.input)({
883
+ label: "Participant Video",
884
+ type: "boolean",
885
+ required: false,
886
+ comments: "This flag will determine if participants video is turned on by default.",
887
+ clean: _prismatic_io_spectral.util.types.toBool
888
+ });
889
+ const joinBeforeHost = (0, _prismatic_io_spectral.input)({
890
+ label: "Join Before Host",
891
+ type: "boolean",
892
+ required: false,
893
+ comments: "This flag will determine if participants are allowed to join before the host.",
894
+ clean: _prismatic_io_spectral.util.types.toBool
895
+ });
896
+ (0, _prismatic_io_spectral.input)({
897
+ label: "Time To Join Before Host",
898
+ type: "string",
899
+ required: false,
900
+ comments: "If joinBeforeHost is true, supply one of the given values.",
901
+ model: [
902
+ {
903
+ label: "Anytime",
904
+ value: "0"
905
+ },
906
+ {
907
+ label: "5 Minutes",
908
+ value: "5"
909
+ },
910
+ {
911
+ label: "10 Minutes",
912
+ value: "10"
913
+ }
914
+ ],
915
+ clean: cleanStringInput
916
+ });
917
+ const muteUponEntry = (0, _prismatic_io_spectral.input)({
918
+ label: "Mute Upon Entry",
919
+ type: "boolean",
920
+ required: false,
921
+ comments: "This flag will determine if participants are muted by default when they join.",
922
+ clean: _prismatic_io_spectral.util.types.toBool
923
+ });
924
+ const watermark = (0, _prismatic_io_spectral.input)({
925
+ label: "Use Watermark",
926
+ type: "boolean",
927
+ required: false,
928
+ comments: "This flag will determine if a watermark will be displayed on screen share.",
929
+ clean: _prismatic_io_spectral.util.types.toBool
930
+ });
931
+ const usePMI = (0, _prismatic_io_spectral.input)({
932
+ label: "Use Personal Meeting ID",
933
+ type: "boolean",
934
+ required: false,
935
+ comments: "This flag will determine whether or not to use a personal meeting Id, over a generated meeting Id.",
936
+ clean: _prismatic_io_spectral.util.types.toBool
937
+ });
938
+ const approvalType = (0, _prismatic_io_spectral.input)({
939
+ label: "Approval Type",
940
+ type: "string",
941
+ required: false,
942
+ comments: "Enable meeting registration approval.",
943
+ default: "2",
944
+ model: [
945
+ {
946
+ label: "Automatically Approve",
947
+ value: "0"
948
+ },
949
+ {
950
+ label: "Manually Approve",
951
+ value: "1"
952
+ },
953
+ {
954
+ label: "None Required",
955
+ value: "2"
956
+ }
957
+ ],
958
+ clean: cleanNumberInput
959
+ });
960
+ const registrationType = (0, _prismatic_io_spectral.input)({
961
+ label: "Registration Type",
962
+ type: "string",
963
+ required: false,
964
+ model: [
965
+ {
966
+ label: "Attendees register once and can attend any meeting occurrence.",
967
+ value: "1"
968
+ },
969
+ {
970
+ label: "Attendees must register for each meeting occurrence.",
971
+ value: "2"
972
+ },
973
+ {
974
+ label: "Attendees register once and can select one or more meeting occurrences to attend.",
975
+ value: "3"
976
+ }
977
+ ],
978
+ default: "1",
979
+ comments: "This field is only for recurring meetings with fixed times (8).",
980
+ clean: cleanNumberInput
981
+ });
982
+ const audio = (0, _prismatic_io_spectral.input)({
983
+ label: "Audio Method",
984
+ type: "string",
985
+ required: false,
986
+ model: [
987
+ {
988
+ label: "Telephony only",
989
+ value: "telephony"
990
+ },
991
+ {
992
+ label: "VoIP only",
993
+ value: "voip"
994
+ },
995
+ {
996
+ label: "Both telephony and VoIP",
997
+ value: "both"
998
+ },
999
+ {
1000
+ label: "Third party audio conference",
1001
+ value: "thirdParty"
1002
+ }
1003
+ ],
1004
+ default: "both",
1005
+ comments: "How participants join the audio portion of the meeting.",
1006
+ clean: cleanStringInput
1007
+ });
1008
+ const autoRecording = (0, _prismatic_io_spectral.input)({
1009
+ label: "Auto Recording",
1010
+ type: "string",
1011
+ required: false,
1012
+ model: [
1013
+ {
1014
+ label: "Record the meeting to the cloud",
1015
+ value: "cloud"
1016
+ },
1017
+ {
1018
+ label: "Record the meeting locally",
1019
+ value: "local"
1020
+ },
1021
+ {
1022
+ label: "Auto-recording disabled",
1023
+ value: "none"
1024
+ }
1025
+ ],
1026
+ default: "none",
1027
+ comments: "The automatic recording settings.",
1028
+ clean: cleanStringInput
1029
+ });
1030
+ const availableDialInCountries = (0, _prismatic_io_spectral.input)({
1031
+ label: "Global Dial In Countries",
1032
+ type: "string",
1033
+ collection: "valuelist",
1034
+ required: false,
1035
+ placeholder: "US",
1036
+ example: "US",
1037
+ comments: "For each item specify the code of a country that is available for global dial in.",
1038
+ clean: cleanStringValueListInput
1039
+ });
1040
+ const registrationEmailNotifications = (0, _prismatic_io_spectral.input)({
1041
+ label: "Registration Email Notifications",
1042
+ type: "boolean",
1043
+ required: false,
1044
+ comments: "Whether to send registrants email notifications about their registration approval, cancellation, or rejection.",
1045
+ clean: _prismatic_io_spectral.util.types.toBool
1046
+ });
1047
+ const address = (0, _prismatic_io_spectral.input)({
1048
+ label: "Address",
1049
+ type: "string",
1050
+ required: false,
1051
+ comments: "Provide a string value for the address.",
1052
+ example: "122 S Privet dr",
1053
+ placeholder: "122 S Privet dr",
1054
+ clean: cleanStringInput
1055
+ });
1056
+ const city = (0, _prismatic_io_spectral.input)({
1057
+ label: "City",
1058
+ type: "string",
1059
+ required: false,
1060
+ comments: "Provide a string value for the city",
1061
+ example: "San Jose",
1062
+ placeholder: "San Jose",
1063
+ clean: cleanStringInput
1064
+ });
1065
+ const country = (0, _prismatic_io_spectral.input)({
1066
+ label: "Country",
1067
+ type: "string",
1068
+ required: false,
1069
+ comments: "Provide a string value for the country. Use the format provided by the Zoom API documentation: https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries",
1070
+ example: "US",
1071
+ placeholder: "US",
1072
+ clean: cleanStringInput
1073
+ });
1074
+ const zip = (0, _prismatic_io_spectral.input)({
1075
+ label: "Zip Code",
1076
+ type: "string",
1077
+ required: false,
1078
+ comments: "Provide a string value for the zipcode",
1079
+ example: "90210",
1080
+ placeholder: "90210",
1081
+ clean: cleanStringInput
1082
+ });
1083
+ const state = (0, _prismatic_io_spectral.input)({
1084
+ label: "State",
1085
+ type: "string",
1086
+ required: false,
1087
+ comments: "Provide a string value for the state or province.",
1088
+ example: "California",
1089
+ placeholder: "California",
1090
+ clean: cleanStringInput
1091
+ });
1092
+ const phone = (0, _prismatic_io_spectral.input)({
1093
+ label: "Phone",
1094
+ type: "string",
1095
+ required: false,
1096
+ comments: "Provide a string value for the phone number.",
1097
+ example: "15558904949",
1098
+ placeholder: "15558904949",
1099
+ clean: cleanStringInput
1100
+ });
1101
+ const industry = (0, _prismatic_io_spectral.input)({
1102
+ label: "Industry",
1103
+ type: "string",
1104
+ required: false,
1105
+ comments: "Provide a string value for their industry",
1106
+ example: "Computer Software",
1107
+ placeholder: "Computer Software",
1108
+ clean: cleanStringInput
1109
+ });
1110
+ const org = (0, _prismatic_io_spectral.input)({
1111
+ label: "Organization",
1112
+ type: "string",
1113
+ required: false,
1114
+ comments: "Provide a string value for the registrant's organization.",
1115
+ example: "Acme Inc.",
1116
+ placeholder: "Acme Inc.",
1117
+ clean: cleanStringInput
1118
+ });
1119
+ const purchasingTimeFrame = (0, _prismatic_io_spectral.input)({
1120
+ label: "Purchasing Time Frame",
1121
+ type: "string",
1122
+ required: false,
1123
+ comments: "The registrant's purchasing time frame.",
1124
+ model: [
1125
+ {
1126
+ label: "Within a month",
1127
+ value: "Within a month"
1128
+ },
1129
+ {
1130
+ label: "1-3 months",
1131
+ value: "1-3 months"
1132
+ },
1133
+ {
1134
+ label: "4-6 months",
1135
+ value: "4-6 months"
1136
+ },
1137
+ {
1138
+ label: "More than 6 months",
1139
+ value: "More than 6 months"
1140
+ },
1141
+ {
1142
+ label: "No timeframe",
1143
+ value: "No timeframe"
1144
+ }
1145
+ ],
1146
+ clean: cleanStringInput
1147
+ });
1148
+ const roleInPurchaseProcess = (0, _prismatic_io_spectral.input)({
1149
+ label: "Role In Purchase Process",
1150
+ type: "string",
1151
+ required: false,
1152
+ comments: "Provide a string value for the registrants role in the purchase process.",
1153
+ model: [
1154
+ {
1155
+ label: "Decision Maker",
1156
+ value: "Decision Maker"
1157
+ },
1158
+ {
1159
+ label: "Evaluator/Recommender",
1160
+ value: "Evaluator/Recommender"
1161
+ },
1162
+ {
1163
+ label: "Influencer",
1164
+ value: "Influencer"
1165
+ },
1166
+ {
1167
+ label: "Not Involved",
1168
+ value: "Not Involved"
1169
+ }
1170
+ ],
1171
+ clean: cleanStringInput
1172
+ });
1173
+ const numberOfEmployees = (0, _prismatic_io_spectral.input)({
1174
+ label: "Number Of Employees",
1175
+ type: "string",
1176
+ required: false,
1177
+ comments: "Provide a value form the supplied list.",
1178
+ model: [
1179
+ {
1180
+ label: "1-20",
1181
+ value: "1-20"
1182
+ },
1183
+ {
1184
+ label: "21-50",
1185
+ value: "21-50"
1186
+ },
1187
+ {
1188
+ label: "51-100",
1189
+ value: "51-100"
1190
+ },
1191
+ {
1192
+ label: "101-500",
1193
+ value: "101-500"
1194
+ },
1195
+ {
1196
+ label: "500-1,000",
1197
+ value: "500-1,000"
1198
+ },
1199
+ {
1200
+ label: "5,001-10,000",
1201
+ value: "5,001-10,000"
1202
+ },
1203
+ {
1204
+ label: "More than 10,000",
1205
+ value: "More than 10,000"
1206
+ }
1207
+ ],
1208
+ clean: cleanStringInput
1209
+ });
1210
+ const comments = (0, _prismatic_io_spectral.input)({
1211
+ label: "Comments",
1212
+ type: "string",
1213
+ required: false,
1214
+ comments: "Provide a string value for comments.",
1215
+ example: "These are some example comments.",
1216
+ placeholder: "These are some example comments.",
1217
+ clean: cleanStringInput
1218
+ });
1219
+ const webhookSecretToken = (0, _prismatic_io_spectral.input)({
1220
+ label: "Zoom Webhook Secret Token",
1221
+ type: "string",
1222
+ required: true,
1223
+ comments: "Please provide your Zoom webhook key.",
1224
+ example: "x5Wkjt82gfjdhj___",
1225
+ placeholder: "x5Wkjt82gfjdhj___",
1226
+ clean: cleanStringInput
1227
+ });
1228
+ const ocurrenceIds = (0, _prismatic_io_spectral.input)({
1229
+ label: "Occurrence Ids",
1230
+ type: "string",
1231
+ required: false,
1232
+ comments: "A comma-separated list of meeting occurrence IDs.",
1233
+ example: "1648194360000,1648367160000",
1234
+ placeholder: "1648194360000,1648367160000",
1235
+ clean: cleanStringInput
1236
+ });
1237
+ const language = (0, _prismatic_io_spectral.input)({
1238
+ label: "Language",
1239
+ type: "string",
1240
+ required: false,
1241
+ comments: "The registrant's language preference for confirmation emails.",
1242
+ model: [
1243
+ {
1244
+ label: "English (US)",
1245
+ value: "en-US"
1246
+ },
1247
+ {
1248
+ label: "German (Germany)",
1249
+ value: "de-DE"
1250
+ },
1251
+ {
1252
+ label: "Spanish (Spain)",
1253
+ value: "es-ES"
1254
+ },
1255
+ {
1256
+ label: "French (France)",
1257
+ value: "fr-FR"
1258
+ },
1259
+ {
1260
+ label: "Japanese",
1261
+ value: "jp-JP"
1262
+ },
1263
+ {
1264
+ label: "Portuguese (Portugal)",
1265
+ value: "pt-PT"
1266
+ },
1267
+ {
1268
+ label: "Russian",
1269
+ value: "ru-RU"
1270
+ },
1271
+ {
1272
+ label: "Chinese (PRC)",
1273
+ value: "zh-CN"
1274
+ },
1275
+ {
1276
+ label: "Chinese (Taiwan)",
1277
+ value: "zh-TW"
1278
+ },
1279
+ {
1280
+ label: "Korean",
1281
+ value: "ko-KO"
1282
+ },
1283
+ {
1284
+ label: "Italian (Italy)",
1285
+ value: "it-IT"
1286
+ },
1287
+ {
1288
+ label: "Vietnamese",
1289
+ value: "vi-VN"
1290
+ },
1291
+ {
1292
+ label: "Polish",
1293
+ value: "pl-PL"
1294
+ },
1295
+ {
1296
+ label: "Turkish",
1297
+ value: "tr-TR"
1298
+ }
1299
+ ],
1300
+ clean: cleanStringInput
1301
+ });
1302
+ const autoApprove = (0, _prismatic_io_spectral.input)({
1303
+ label: "Auto Approve",
1304
+ type: "boolean",
1305
+ required: false,
1306
+ comments: "If a meeting was scheduled with the Approval Type field value of 1 (manual approval) but you want to automatically approve meeting registrants, set the value of this field to true.",
1307
+ default: "false",
1308
+ clean: _prismatic_io_spectral.util.types.toBool
1309
+ });
1310
+ const customQuestions = (0, _prismatic_io_spectral.input)({
1311
+ label: "Custom Questions",
1312
+ type: "code",
1313
+ language: "json",
1314
+ required: false,
1315
+ comments: "Provide an array custom questions for the registrant. Remove the default content if you do not want to include custom questions.",
1316
+ default: JSON.stringify([{
1317
+ title: "What do you hope to learn from this?",
1318
+ value: "Look forward to learning how you come up with new recipes and what other services you offer."
1319
+ }], null, 2),
1320
+ clean: cleanCodeInput
1321
+ });
1322
+ const defaultPassword = (0, _prismatic_io_spectral.input)({
1323
+ label: "Default Password",
1324
+ type: "boolean",
1325
+ required: false,
1326
+ default: "false",
1327
+ comments: "Whether to generate a default passcode using the user's settings.",
1328
+ clean: _prismatic_io_spectral.util.types.toBool
1329
+ });
1330
+ const preSchedule = (0, _prismatic_io_spectral.input)({
1331
+ label: "Pre Schedule",
1332
+ type: "boolean",
1333
+ required: false,
1334
+ comments: "Whether to create a prescheduled meeting via the GSuite app.",
1335
+ default: "false",
1336
+ clean: _prismatic_io_spectral.util.types.toBool
1337
+ });
1338
+ const scheduleFor = (0, _prismatic_io_spectral.input)({
1339
+ label: "Schedule For",
1340
+ type: "string",
1341
+ required: false,
1342
+ comments: "The email address or user ID of the user to schedule a meeting for.",
1343
+ example: "example@email.com",
1344
+ placeholder: "example@email.com",
1345
+ clean: cleanStringInput
1346
+ });
1347
+ const settingsExtraFields = (0, _prismatic_io_spectral.input)({
1348
+ label: "Settings Extra Fields",
1349
+ type: "code",
1350
+ language: "json",
1351
+ required: false,
1352
+ comments: "Provide additional fields for the settings object that are not covered by the other inputs. Remove the default content if you do not want to include extra fields. For more information, refer to the Zoom API documentation: https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingCreate",
1353
+ default: JSON.stringify(SETTINGS_EXTRA_FIELDS_DEFAULT, null, 2),
1354
+ clean: cleanCodeInput
1355
+ });
1356
+ const templateId = (0, _prismatic_io_spectral.input)({
1357
+ label: "Template Id",
1358
+ type: "string",
1359
+ required: false,
1360
+ comments: "The account admin meeting template ID used to schedule a meeting using a meeting template.",
1361
+ example: "AdxbhxCzKgSiWAw",
1362
+ placeholder: "AdxbhxCzKgSiWAw",
1363
+ clean: cleanStringInput
1364
+ });
1365
+ const trackingFields = (0, _prismatic_io_spectral.input)({
1366
+ label: "Tracking Fields",
1367
+ type: "code",
1368
+ language: "json",
1369
+ required: false,
1370
+ comments: "Information about the meeting's tracking fields. Remove the default content if you do not want to include tracking fields.",
1371
+ default: JSON.stringify(TRACKING_FIELDS_DEFAULT, null, 2),
1372
+ clean: cleanCodeInput
1373
+ });
1374
+ const ocurrenceId = (0, _prismatic_io_spectral.input)({
1375
+ label: "Occurrence Id",
1376
+ type: "string",
1377
+ required: false,
1378
+ comments: "Meeting occurrence ID. Provide this field to view meeting details of a particular occurrence of the recurring meeting.",
1379
+ example: "1648194360000",
1380
+ placeholder: "1648194360000",
1381
+ clean: cleanStringInput
1382
+ });
1383
+ const showPreviousOccurrences = (0, _prismatic_io_spectral.input)({
1384
+ label: "Show Previous Occurrences",
1385
+ type: "boolean",
1386
+ required: false,
1387
+ comments: "Turn this flag ON to view meeting details of all previous occurrences of a recurring meeting.",
1388
+ default: "false",
1389
+ clean: _prismatic_io_spectral.util.types.toBool
1390
+ });
1391
+ const includeFields = (0, _prismatic_io_spectral.input)({
1392
+ label: "Include Fields",
1393
+ type: "string",
1394
+ required: false,
1395
+ comments: "The download_access_token value for downloading the meeting's recordings.",
1396
+ example: "a2f19f96-9294-4f51-8134-6f0eea108eb2",
1397
+ placeholder: "a2f19f96-9294-4f51-8134-6f0eea108eb2",
1398
+ clean: cleanStringInput
1399
+ });
1400
+ const ttl = (0, _prismatic_io_spectral.input)({
1401
+ label: "Time To Live",
1402
+ type: "string",
1403
+ required: false,
1404
+ comments: "The download_access_token Time to Live (TTL) value. This parameter is only valid if the 'Include Fields' input contains the download_access_token value. Min value is 0 and max value is 604800 (7 days).",
1405
+ example: "86400",
1406
+ placeholder: "86400",
1407
+ clean: cleanNumberInput
1408
+ });
1409
+ const registrantStatus = (0, _prismatic_io_spectral.input)({
1410
+ label: "Registrant Status",
1411
+ type: "string",
1412
+ required: false,
1413
+ comments: "Query by the registrant's status.",
1414
+ model: [
1415
+ {
1416
+ label: "Pending",
1417
+ value: "pending"
1418
+ },
1419
+ {
1420
+ label: "Approved",
1421
+ value: "approved"
1422
+ },
1423
+ {
1424
+ label: "Denied",
1425
+ value: "denied"
1426
+ }
1427
+ ],
1428
+ default: "approved",
1429
+ clean: cleanStringInput
1430
+ });
1431
+ const typeOfMeeting = (0, _prismatic_io_spectral.input)({
1432
+ label: "Type Of Meeting",
1433
+ type: "string",
1434
+ required: false,
1435
+ comments: "Query by the meeting type.",
1436
+ model: [
1437
+ {
1438
+ label: "Scheduled",
1439
+ value: "scheduled"
1440
+ },
1441
+ {
1442
+ label: "Live",
1443
+ value: "live"
1444
+ },
1445
+ {
1446
+ label: "Upcoming",
1447
+ value: "upcoming"
1448
+ },
1449
+ {
1450
+ label: "Upcoming Meetings",
1451
+ value: "upcoming_meetings"
1452
+ },
1453
+ {
1454
+ label: "Previous",
1455
+ value: "previous_meetings"
1456
+ }
1457
+ ],
1458
+ default: "scheduled",
1459
+ clean: cleanStringInput
1460
+ });
1461
+ const from = (0, _prismatic_io_spectral.input)({
1462
+ label: "From",
1463
+ type: "string",
1464
+ required: false,
1465
+ comments: "The start date for the query.",
1466
+ example: "2023-01-01 or 2023-01-01T00:00:00Z",
1467
+ placeholder: "2023-01-01 or 2023-01-01T00:00:00Z",
1468
+ clean: cleanStringInput
1469
+ });
1470
+ const to = (0, _prismatic_io_spectral.input)({
1471
+ label: "To",
1472
+ type: "string",
1473
+ required: false,
1474
+ comments: "The end date for the query.",
1475
+ example: "2023-01-16 or 2023-01-16T00:00:00Z",
1476
+ placeholder: "2023-01-16 or 2023-01-16T00:00:00Z",
1477
+ clean: cleanStringInput
1478
+ });
1479
+ const timezoneQuery = (0, _prismatic_io_spectral.input)({
1480
+ label: "Timezone",
1481
+ type: "string",
1482
+ required: false,
1483
+ comments: "The timezone to assign to the 'From' and 'To' value.",
1484
+ example: "America/New_York",
1485
+ placeholder: "America/New_York",
1486
+ clean: cleanStringInput
1487
+ });
1488
+ const occurrenceIdQuery = (0, _prismatic_io_spectral.input)({
1489
+ label: "Occurrence Id",
1490
+ type: "string",
1491
+ required: false,
1492
+ comments: "Meeting occurrence ID.",
1493
+ example: "1648194360000",
1494
+ placeholder: "1648194360000",
1495
+ clean: cleanStringInput
1496
+ });
1497
+ const displayName = (0, _prismatic_io_spectral.input)({
1498
+ label: "Display Name",
1499
+ type: "string",
1500
+ required: false,
1501
+ comments: "The user's display name.",
1502
+ example: "John Doe",
1503
+ placeholder: "John Doe",
1504
+ clean: cleanStringInput
1505
+ });
1506
+ const userPassword = (0, _prismatic_io_spectral.input)({
1507
+ label: "User Password",
1508
+ type: "password",
1509
+ required: false,
1510
+ comments: `User password. Only used for the "autoCreate" function. The password has to have a minimum of 8 characters and maximum of 32 characters. By default (basic requirement), password must have at least one letter (a, b, c..), at least one number (1, 2, 3...) and include both uppercase and lowercase letters. It should not contain only one identical character repeatedly ('11111111' or 'aaaaaaaa') and it cannot contain consecutive characters ('12345678' or 'abcdefgh').`,
1511
+ example: "examplePass1",
1512
+ placeholder: "examplePass1",
1513
+ clean: cleanStringInput
1514
+ });
1515
+ const zoomPhone = (0, _prismatic_io_spectral.input)({
1516
+ label: "Zoom Phone",
1517
+ type: "boolean",
1518
+ required: false,
1519
+ comments: "Whether the user has the Zoom Phone feature enabled.",
1520
+ default: "false",
1521
+ clean: _prismatic_io_spectral.util.types.toBool
1522
+ });
1523
+ const zoomOneType = (0, _prismatic_io_spectral.input)({
1524
+ label: "Zoom One Type",
1525
+ type: "string",
1526
+ required: false,
1527
+ comments: "The type of Zoom One user.",
1528
+ model: ZOOM_ONE_TYPES,
1529
+ clean: cleanNumberInput
1530
+ });
1531
+ const zoomOneTypeUpdate = (0, _prismatic_io_spectral.input)({
1532
+ label: "Zoom One Type",
1533
+ type: "string",
1534
+ required: false,
1535
+ comments: "The Zoom One plan option.",
1536
+ model: [ZOOM_ONE_TYPE_OFF, ...ZOOM_ONE_TYPES],
1537
+ clean: cleanNumberInput
1538
+ });
1539
+ const planUnitedType = (0, _prismatic_io_spectral.input)({
1540
+ label: "Plan United Type",
1541
+ type: "string",
1542
+ required: false,
1543
+ comments: "The type of Plan United user.",
1544
+ model: ZOOM_UNITED_PLANS,
1545
+ clean: cleanStringInput
1546
+ });
1547
+ const planUnitedTypeUpdate = (0, _prismatic_io_spectral.input)({
1548
+ label: "Plan United Type",
1549
+ type: "string",
1550
+ required: false,
1551
+ comments: "The Plan United plan option.",
1552
+ model: [ZOOM_UNITED_PLAN_OFF, ...ZOOM_UNITED_PLANS],
1553
+ clean: cleanStringInput
1554
+ });
1555
+ const encryptedEmail = (0, _prismatic_io_spectral.input)({
1556
+ label: "Encrypted Email",
1557
+ type: "boolean",
1558
+ required: false,
1559
+ comments: "Whether the email address passed for the 'User Id' value is an encrypted email address.",
1560
+ default: "false",
1561
+ clean: _prismatic_io_spectral.util.types.toBool
1562
+ });
1563
+ const action$22 = (0, _prismatic_io_spectral.input)({
1564
+ label: "Action",
1565
+ type: "string",
1566
+ required: false,
1567
+ model: [{
1568
+ label: "Disassociate",
1569
+ value: "disassociate"
1570
+ }, {
1571
+ label: "Delete",
1572
+ value: "delete"
1573
+ }],
1574
+ default: "disassociate",
1575
+ comments: "Delete action options.",
1576
+ clean: cleanStringInput
1577
+ });
1578
+ const transferEmail = (0, _prismatic_io_spectral.input)({
1579
+ label: "Transfer Email",
1580
+ type: "string",
1581
+ required: false,
1582
+ comments: "Transfer email. This field is required if the user has Zoom Events/Sessions feature. After you delete or disassociate the user, the user's hub assets on Zoom Events site will be transferred to the target user.",
1583
+ example: "jchill@example.com",
1584
+ placeholder: "jchill@example.com",
1585
+ clean: cleanStringInput
1586
+ });
1587
+ const transferMeeting = (0, _prismatic_io_spectral.input)({
1588
+ label: "Transfer Meeting",
1589
+ type: "boolean",
1590
+ required: false,
1591
+ comments: "Transfer meeting.",
1592
+ default: "false",
1593
+ clean: _prismatic_io_spectral.util.types.toBool
1594
+ });
1595
+ const transferWebinar = (0, _prismatic_io_spectral.input)({
1596
+ label: "Transfer Webinar",
1597
+ type: "boolean",
1598
+ required: false,
1599
+ comments: "Transfer webinar.",
1600
+ default: "false",
1601
+ clean: _prismatic_io_spectral.util.types.toBool
1602
+ });
1603
+ const transferRecording = (0, _prismatic_io_spectral.input)({
1604
+ label: "Transfer Recording",
1605
+ type: "boolean",
1606
+ required: false,
1607
+ comments: "Transfer recording.",
1608
+ default: "false",
1609
+ clean: _prismatic_io_spectral.util.types.toBool
1610
+ });
1611
+ const transferWhiteboard = (0, _prismatic_io_spectral.input)({
1612
+ label: "Transfer Whiteboard",
1613
+ type: "boolean",
1614
+ required: false,
1615
+ comments: "When deleting a user, whether to transfer all their Zoom Whiteboard data to another user.",
1616
+ default: "false",
1617
+ clean: _prismatic_io_spectral.util.types.toBool
1618
+ });
1619
+ const loginType = (0, _prismatic_io_spectral.input)({
1620
+ label: "Login Type",
1621
+ type: "string",
1622
+ required: false,
1623
+ comments: "The user's login method.",
1624
+ model: LOGIN_TYPES,
1625
+ clean: cleanNumberInput
1626
+ });
1627
+ const searchByUniqueId = (0, _prismatic_io_spectral.input)({
1628
+ label: "Search By Unique Id",
1629
+ type: "boolean",
1630
+ required: false,
1631
+ comments: "Whether the queried 'User Id' value is an employee unique ID. This value defaults to false.",
1632
+ default: "false",
1633
+ clean: _prismatic_io_spectral.util.types.toBool
1634
+ });
1635
+ const toContact = (0, _prismatic_io_spectral.input)({
1636
+ label: "To Contact",
1637
+ type: "string",
1638
+ required: false,
1639
+ comments: "This field allows you to query by the email address, user ID, or member ID of a chat contact with whom the user communicated. The API only returns messages sent and received between the user and the queried contact. You must provide either the 'To Contact' or the 'To Channel' query parameter. When you use the 'Search Key' and 'Search Type' parameters, this parameter is optional and not required.",
1640
+ example: "jchill@example.com",
1641
+ placeholder: "jchill@example.com",
1642
+ clean: cleanStringInput
1643
+ });
1644
+ const toChannel = (0, _prismatic_io_spectral.input)({
1645
+ label: "To Channel",
1646
+ type: "string",
1647
+ required: false,
1648
+ comments: "This field allows you to query by the channel ID of a channel in which the user had chat conversations. The API only returns messages sent and received by the user in the queried channel. You must provide either the 'To Contact' or the 'To Channel' query parameter. When you use the 'Search Key' and 'Search Type' parameters, this parameter is optional and not required. You must provide either the to_contact or the to_channel query parameter. When you call the 'Search Key' and 'Search Type' query parameters, this query parameter is optional and not required.",
1649
+ example: "qrstuvwxyz67890",
1650
+ placeholder: "qrstuvwxyz67890",
1651
+ clean: cleanStringInput
1652
+ });
1653
+ const date = (0, _prismatic_io_spectral.input)({
1654
+ label: "Date",
1655
+ type: "string",
1656
+ required: false,
1657
+ comments: "The query date from which to retrieve the chat messages. This value defaults to the current date. If you do not provide the 'Date' or 'From' inputs, the API defaults to the 'Date' parameter.",
1658
+ example: "2020-03-01",
1659
+ placeholder: "2020-03-01",
1660
+ clean: cleanStringInput
1661
+ });
1662
+ const includeDeletedAndEditedMessage = (0, _prismatic_io_spectral.input)({
1663
+ label: "Include Deleted And Edited Message",
1664
+ type: "boolean",
1665
+ required: false,
1666
+ comments: "This field sets the value of this field to true to include edited and deleted messages in the response.",
1667
+ default: "false",
1668
+ clean: _prismatic_io_spectral.util.types.toBool
1669
+ });
1670
+ const searchType = (0, _prismatic_io_spectral.input)({
1671
+ label: "Search Type",
1672
+ type: "string",
1673
+ required: false,
1674
+ comments: "The type of search. If you use this input, you must also include a 'Search Key' input value. The 'To Contact' and the 'To Channel' inputs are not required when you use this input. If you do not call them, the API returns all contact and channel messages that match the 'Search Type' input. If you use this parameter, you cannot also query the 'Include Deleted And Edited Message' input. This parameter does not support the return of deleted or updated messages.",
1675
+ model: [{
1676
+ label: "Search messages",
1677
+ value: "message"
1678
+ }, {
1679
+ label: "Search files",
1680
+ value: "file"
1681
+ }],
1682
+ clean: cleanStringInput
1683
+ });
1684
+ const searchKey = (0, _prismatic_io_spectral.input)({
1685
+ label: "Search Key",
1686
+ type: "string",
1687
+ required: false,
1688
+ comments: "The query string for messages or files, up to 256 characters. If you use this input, you must also include a 'Search Type' input value. The 'To Contact' and the 'To Channel' inputs are not required when you use this input. If you do not call them, the API returns all contact and channel messages that match the 'Search Key' input. If you use this parameter, you cannot also query the 'Include Deleted And Edited Message' input. This parameter does not support the return of deleted or updated messages.",
1689
+ example: "hello",
1690
+ placeholder: "hello",
1691
+ clean: cleanStringInput
1692
+ });
1693
+ const excludeChildMessage = (0, _prismatic_io_spectral.input)({
1694
+ label: "Exclude Child Message",
1695
+ type: "boolean",
1696
+ required: false,
1697
+ comments: "This parameter excludes returning all child messages in a chat. It leaves only the parent messages.",
1698
+ default: "false",
1699
+ clean: _prismatic_io_spectral.util.types.toBool
1700
+ });
1701
+ const downloadFileFormats = (0, _prismatic_io_spectral.input)({
1702
+ label: "Download File Formats",
1703
+ type: "string",
1704
+ required: false,
1705
+ comments: "This field returns the download URL in the specified format for different types of files. Currently, we only support the download URL in the .mp4 format for audio files. If this parameter is not specified, it returns the download URL of the file in its default format.",
1706
+ example: "audio/mp4",
1707
+ placeholder: "audio/mp4",
1708
+ clean: cleanStringInput
1709
+ });
1710
+ const userStatus = (0, _prismatic_io_spectral.input)({
1711
+ label: "User Status",
1712
+ type: "string",
1713
+ required: false,
1714
+ comments: "The user's status.",
1715
+ model: [
1716
+ {
1717
+ label: "Pending",
1718
+ value: "pending"
1719
+ },
1720
+ {
1721
+ label: "Active",
1722
+ value: "active"
1723
+ },
1724
+ {
1725
+ label: "Inactive",
1726
+ value: "inactive"
1727
+ }
1728
+ ],
1729
+ default: "active",
1730
+ clean: cleanStringInput
1731
+ });
1732
+ const roleId = (0, _prismatic_io_spectral.input)({
1733
+ label: "Role Id",
1734
+ type: "string",
1735
+ required: false,
1736
+ comments: "The role's unique ID. Use this parameter to filter the response by a specific role.",
1737
+ example: "0",
1738
+ placeholder: "0",
1739
+ clean: cleanStringInput
1740
+ });
1741
+ (0, _prismatic_io_spectral.input)({
1742
+ label: "Include Fields",
1743
+ type: "string",
1744
+ required: false,
1745
+ comments: "Display one of the selected attributes.",
1746
+ model: [{
1747
+ label: "Custom Attributes",
1748
+ value: "custom_attributes"
1749
+ }, {
1750
+ label: "Host Key",
1751
+ value: "host_key"
1752
+ }],
1753
+ clean: cleanStringInput
1754
+ });
1755
+ const license = (0, _prismatic_io_spectral.input)({
1756
+ label: "License",
1757
+ type: "string",
1758
+ required: false,
1759
+ comments: "The user's license. Filter the response by a specific license.",
1760
+ model: [{
1761
+ label: "Zoom Workforce Management",
1762
+ value: "zoom_workforce_management"
1763
+ }, {
1764
+ label: "Zoom Compliance Management",
1765
+ value: "zoom_compliance_management"
1766
+ }],
1767
+ clean: cleanStringInput
1768
+ });
1769
+ const removeTspCredentials = (0, _prismatic_io_spectral.input)({
1770
+ label: "Remove TSP Credentials",
1771
+ type: "boolean",
1772
+ required: false,
1773
+ comments: "Whether to remove the user's TSP credentials.",
1774
+ default: "false",
1775
+ clean: _prismatic_io_spectral.util.types.toBool
1776
+ });
1777
+ const customAttributes = (0, _prismatic_io_spectral.input)({
1778
+ label: "Custom Attributes",
1779
+ type: "code",
1780
+ language: "json",
1781
+ required: false,
1782
+ default: JSON.stringify(CUSTOM_ATTRIBUTES_DEFAULT, null, 2),
1783
+ comments: "The user's assigned custom attributes. Remove the default content if you do not want to include custom attributes.",
1784
+ clean: cleanCodeInput
1785
+ });
1786
+ (0, _prismatic_io_spectral.input)({
1787
+ label: "Department",
1788
+ type: "string",
1789
+ required: false,
1790
+ comments: "The user's assigned department.",
1791
+ example: "Engineering",
1792
+ placeholder: "Engineering",
1793
+ clean: cleanStringInput
1794
+ });
1795
+ const groupId = (0, _prismatic_io_spectral.input)({
1796
+ label: "Group Id",
1797
+ type: "string",
1798
+ required: false,
1799
+ comments: "Provide the unique identifier of the group that you would like to add a pending user to.",
1800
+ example: "RSMaSp8sTEGK0_oamiA2_w",
1801
+ placeholder: "RSMaSp8sTEGK0_oamiA2_w",
1802
+ clean: cleanStringInput
1803
+ });
1804
+ const userLanguage = (0, _prismatic_io_spectral.input)({
1805
+ label: "User Language",
1806
+ type: "string",
1807
+ required: false,
1808
+ comments: "The user's language.",
1809
+ example: "English",
1810
+ placeholder: "English",
1811
+ clean: cleanStringInput
1812
+ });
1813
+ const manager = (0, _prismatic_io_spectral.input)({
1814
+ label: "Manager",
1815
+ type: "string",
1816
+ required: false,
1817
+ comments: "The user's assigned manager.",
1818
+ example: "John Doe",
1819
+ placeholder: "John Doe",
1820
+ clean: cleanStringInput
1821
+ });
1822
+ const phoneNumbers = (0, _prismatic_io_spectral.input)({
1823
+ label: "Phone Numbers",
1824
+ type: "code",
1825
+ language: "json",
1826
+ required: false,
1827
+ comments: "Information about the user's assigned phone numbers. Remove the default content if you do not want to include phone numbers. Allowed label values are: Mobile┃Office┃Home┃Fax",
1828
+ default: JSON.stringify(PHONE_NUMBERS_DEFAULT, null, 2),
1829
+ clean: cleanCodeInput
1830
+ });
1831
+ const aboutMe = (0, _prismatic_io_spectral.input)({
1832
+ label: "About Me",
1833
+ type: "string",
1834
+ required: false,
1835
+ comments: "The user's self-introduction. Hyperlinks or HTML code not allowed in this field.",
1836
+ example: "I love Zoom!",
1837
+ placeholder: "I love Zoom!",
1838
+ clean: cleanStringInput
1839
+ });
1840
+ const linkedinUrl = (0, _prismatic_io_spectral.input)({
1841
+ label: "LinkedIn URL",
1842
+ type: "string",
1843
+ required: false,
1844
+ comments: "The user's LinkedIn URL.",
1845
+ example: "https://www.linkedin.com/in/johndoe",
1846
+ placeholder: "https://www.linkedin.com/in/johndoe",
1847
+ clean: cleanStringInput
1848
+ });
1849
+ const pronouns = (0, _prismatic_io_spectral.input)({
1850
+ label: "Pronouns",
1851
+ type: "string",
1852
+ required: false,
1853
+ comments: "The user's pronouns.",
1854
+ example: "He/Him",
1855
+ placeholder: "He/Him",
1856
+ clean: cleanStringInput
1857
+ });
1858
+ const pronounsOption = (0, _prismatic_io_spectral.input)({
1859
+ label: "Pronouns",
1860
+ type: "string",
1861
+ required: false,
1862
+ comments: "The user's pronouns.",
1863
+ model: [
1864
+ {
1865
+ label: "Ask the user every time they join meetings and webinars",
1866
+ value: "1"
1867
+ },
1868
+ {
1869
+ label: "Always display pronouns in meetings and webinars",
1870
+ value: "2"
1871
+ },
1872
+ {
1873
+ label: "Do not display pronouns in meetings and webinars",
1874
+ value: "3"
1875
+ }
1876
+ ],
1877
+ clean: cleanNumberInput
1878
+ });
1879
+ const sourceId = (0, _prismatic_io_spectral.input)({
1880
+ label: "Source Id",
1881
+ type: "string",
1882
+ required: false,
1883
+ comments: "The tracking source's unique identifier.",
1884
+ example: "4816766181770",
1885
+ placeholder: "4816766181770",
1886
+ clean: cleanStringInput
1887
+ });
1888
+ const occurrenceIdWebinar = (0, _prismatic_io_spectral.input)({
1889
+ label: "Occurrence Id",
1890
+ type: "string",
1891
+ required: false,
1892
+ comments: "Unique identifier for an occurrence of a recurring webinar. Recurring webinars can have a maximum of 50 occurrences. ",
1893
+ example: "1648538280000",
1894
+ placeholder: "1648538280000",
1895
+ clean: cleanStringInput
1896
+ });
1897
+ const showPreviousOccurrencesWebinar = (0, _prismatic_io_spectral.input)({
1898
+ label: "Show Previous Occurrences",
1899
+ type: "boolean",
1900
+ required: false,
1901
+ comments: "Turn this flag ON to view details of all previous occurrences of a recurring webinar.",
1902
+ default: "false",
1903
+ clean: _prismatic_io_spectral.util.types.toBool
1904
+ });
1905
+ const occurrenceIdWebinarQuery = (0, _prismatic_io_spectral.input)({
1906
+ label: "Occurrence Id",
1907
+ type: "string",
1908
+ required: false,
1909
+ comments: "The meeting or webinar occurrence ID.",
1910
+ example: "1648194360000",
1911
+ placeholder: "1648194360000",
1912
+ clean: cleanStringInput
1913
+ });
1914
+ const trackingSourceId = (0, _prismatic_io_spectral.input)({
1915
+ label: "Tracking Source Id",
1916
+ type: "string",
1917
+ required: false,
1918
+ comments: "The tracking source ID for the registrants. Useful if you share the webinar registration page in multiple locations.",
1919
+ example: "5516482804110",
1920
+ placeholder: "5516482804110",
1921
+ clean: cleanStringInput
1922
+ });
1923
+ const webinarType = (0, _prismatic_io_spectral.input)({
1924
+ label: "Webinar Type",
1925
+ type: "string",
1926
+ required: false,
1927
+ comments: "The type of webinar.",
1928
+ model: [{
1929
+ label: "All valid previous (unexpired) webinars, live webinars, and upcoming scheduled webinars",
1930
+ value: "scheduled"
1931
+ }, {
1932
+ label: "All upcoming webinars, including live webinars",
1933
+ value: "upcoming"
1934
+ }],
1935
+ clean: cleanStringInput
1936
+ });
1937
+ const selectChatMessageInputs = {
1938
+ connection,
1939
+ userId: {
1940
+ ...userId,
1941
+ comments: "The user ID whose chat messages to list.",
1942
+ dataSource: void 0
1943
+ },
1944
+ toContact: {
1945
+ ...toContact,
1946
+ comments: "The contact ID whose chat messages to list. <strong>Note:</strong> You must specify this input or the 'To Channel' input."
1947
+ },
1948
+ toChannel: {
1949
+ ...toChannel,
1950
+ comments: "The channel ID whose chat messages to list. <strong>Note:</strong> You must specify this input or the 'To Contact' input."
1951
+ },
1952
+ date,
1953
+ from: {
1954
+ ...from,
1955
+ comments: "The query start date in yyyy-MM-dd'T'HH:mm:ss'Z' format. If you provide both the 'Date' and 'from' inputs, the API uses the 'Date' input value to query.",
1956
+ example: "2021-01-01T00:00:00Z"
1957
+ },
1958
+ to: {
1959
+ ...to,
1960
+ comments: "The query end date in yyyy-MM-dd'T'HH:mm:ss'Z' format. This value defaults to the current date.",
1961
+ example: "2021-01-01T00:00:00Z"
1962
+ }
1963
+ };
1964
+ const selectMeetingInputs = {
1965
+ connection,
1966
+ userId: {
1967
+ ...userId,
1968
+ comments: "The user ID whose meetings to list.",
1969
+ dataSource: void 0
1970
+ }
1971
+ };
1972
+ const returnId = (0, _prismatic_io_spectral.input)({
1973
+ label: "Return ID",
1974
+ type: "boolean",
1975
+ required: false,
1976
+ comments: "When enabled, returns the recording file ID instead of the download URL. Use this if you need the file identifier for further processing rather than a direct download link.",
1977
+ default: "false",
1978
+ clean: _prismatic_io_spectral.util.types.toBool
1979
+ });
1980
+ const selectMeetingRecordingInputs = {
1981
+ connection,
1982
+ meetingId: {
1983
+ ...meetingId,
1984
+ comments: "The meeting ID to list recordings for.",
1985
+ dataSource: void 0
1986
+ },
1987
+ returnId
1988
+ };
1989
+ const selectMeetingRegistrantInputs = {
1990
+ connection,
1991
+ meetingId: {
1992
+ ...meetingId,
1993
+ comments: "The meeting ID to list registrants for.",
1994
+ dataSource: void 0
1995
+ }
1996
+ };
1997
+ const selectPhoneRecordingInputs = {
1998
+ connection,
1999
+ userId: {
2000
+ ...userId,
2001
+ comments: "The user ID whose phone recordings to list.",
2002
+ dataSource: void 0
2003
+ },
2004
+ returnId: {
2005
+ ...returnId,
2006
+ comments: "When enabled, returns the recording file ID instead of the download URL. Use this if you need the file identifier for further processing rather than a direct download link."
2007
+ }
2008
+ };
2009
+ const selectUserChannelInputs = {
2010
+ connection,
2011
+ userId: {
2012
+ ...userId,
2013
+ comments: "The user ID whose channels to list.",
2014
+ dataSource: void 0
2015
+ }
2016
+ };
2017
+ const selectWebinarInputs = {
2018
+ connection,
2019
+ userId: {
2020
+ ...userId,
2021
+ comments: "The user ID whose webinars to list.",
2022
+ dataSource: void 0
2023
+ }
2024
+ };
2025
+ const selectWebinarParticipantInputs = {
2026
+ connection,
2027
+ webinarId: {
2028
+ ...webinarId,
2029
+ comments: "The past webinar ID to list participants for.",
2030
+ dataSource: void 0
2031
+ }
2032
+ };
2033
+ const selectWebinarRegistrantInputs = {
2034
+ connection,
2035
+ webinarId: {
2036
+ ...webinarId,
2037
+ comments: "The webinar ID to list registrants for.",
2038
+ dataSource: void 0
2039
+ }
2040
+ };
2041
+ //#endregion
2042
+ //#region src/examplePayloads.ts
2043
+ const addMeetingRegistrantExamplePayload = { data: {
2044
+ id: 85746065,
2045
+ join_url: "https://example.com/j/11111",
2046
+ registrant_id: "fdgsfh2ey82fuh",
2047
+ start_time: "2021-07-13T21:44:51Z",
2048
+ topic: "My Meeting",
2049
+ occurrences: [{
2050
+ duration: 60,
2051
+ occurrence_id: "1648194360000",
2052
+ start_time: "2022-03-25T07:46:00Z",
2053
+ status: "available"
2054
+ }],
2055
+ participant_pin_code: 380303
2056
+ } };
2057
+ const createMeetingExamplePayload = { data: {
2058
+ assistant_id: "kFFvsJc-Q1OSxaJQLvaa_A",
2059
+ host_email: "jchill@example.com",
2060
+ id: 92674392836,
2061
+ registration_url: "https://example.com/meeting/register/7ksAkRCoEpt1Jm0wa-E6lICLur9e7Lde5oW6",
2062
+ agenda: "My Meeting",
2063
+ created_at: "2022-03-25T07:29:29Z",
2064
+ duration: 60,
2065
+ encrypted_password: "8pEkRweVXPV3Ob2KJYgFTRlDtl1gSn.1",
2066
+ pstn_password: "123456",
2067
+ h323_password: "123456",
2068
+ join_url: "https://example.com/j/11111",
2069
+ chat_join_url: "https://example.com/launch/jc/11111",
2070
+ occurrences: [{
2071
+ duration: 60,
2072
+ occurrence_id: "1648194360000",
2073
+ start_time: "2022-03-25T07:46:00Z",
2074
+ status: "available"
2075
+ }],
2076
+ password: "123456",
2077
+ pmi: "97891943927",
2078
+ pre_schedule: false,
2079
+ recurrence: {
2080
+ end_date_time: "2022-04-02T15:59:00Z",
2081
+ end_times: 7,
2082
+ monthly_day: 1,
2083
+ monthly_week: 1,
2084
+ monthly_week_day: 1,
2085
+ repeat_interval: 1,
2086
+ type: 1,
2087
+ weekly_days: "1"
2088
+ },
2089
+ settings: {
2090
+ allow_multiple_devices: true,
2091
+ alternative_hosts: "jchill@example.com;thill@example.com",
2092
+ alternative_hosts_email_notification: true,
2093
+ alternative_host_update_polls: true,
2094
+ approval_type: 0,
2095
+ approved_or_denied_countries_or_regions: {
2096
+ approved_list: ["CX"],
2097
+ denied_list: ["CA"],
2098
+ enable: true,
2099
+ method: "approve"
2100
+ },
2101
+ audio: "telephony",
2102
+ audio_conference_info: "test",
2103
+ authentication_domains: "example.com",
2104
+ authentication_exception: [{
2105
+ email: "jchill@example.com",
2106
+ name: "Jill Chill",
2107
+ join_url: "https://example.com/s/11111"
2108
+ }],
2109
+ authentication_name: "Sign in to Zoom",
2110
+ authentication_option: "signIn_D8cJuqWVQ623CI4Q8yQK0Q",
2111
+ auto_recording: "cloud",
2112
+ breakout_room: {
2113
+ enable: true,
2114
+ rooms: [{
2115
+ name: "room1",
2116
+ participants: ["jchill@example.com"]
2117
+ }]
2118
+ },
2119
+ calendar_type: 1,
2120
+ close_registration: false,
2121
+ contact_email: "jchill@example.com",
2122
+ contact_name: "Jill Chill",
2123
+ custom_keys: [{
2124
+ key: "key1",
2125
+ value: "value1"
2126
+ }],
2127
+ email_notification: true,
2128
+ encryption_type: "enhanced_encryption",
2129
+ focus_mode: true,
2130
+ global_dial_in_countries: ["US"],
2131
+ global_dial_in_numbers: [{
2132
+ city: "New York",
2133
+ country: "US",
2134
+ country_name: "US",
2135
+ number: "+1 1000200200",
2136
+ type: "toll"
2137
+ }],
2138
+ host_video: true,
2139
+ jbh_time: 0,
2140
+ join_before_host: true,
2141
+ language_interpretation: {
2142
+ enable: true,
2143
+ interpreters: [{
2144
+ email: "interpreter@example.com",
2145
+ languages: "US,FR"
2146
+ }]
2147
+ },
2148
+ sign_language_interpretation: {
2149
+ enable: true,
2150
+ interpreters: [{
2151
+ email: "interpreter@example.com",
2152
+ sign_language: "American"
2153
+ }]
2154
+ },
2155
+ meeting_authentication: true,
2156
+ mute_upon_entry: false,
2157
+ participant_video: false,
2158
+ private_meeting: false,
2159
+ registrants_confirmation_email: true,
2160
+ registrants_email_notification: true,
2161
+ registration_type: 1,
2162
+ show_share_button: true,
2163
+ use_pmi: false,
2164
+ waiting_room: false,
2165
+ watermark: false,
2166
+ host_save_video_order: true,
2167
+ internal_meeting: false,
2168
+ meeting_invitees: [{ email: "jchill@example.com" }],
2169
+ continuous_meeting_chat: {
2170
+ enable: true,
2171
+ auto_add_invited_external_users: true,
2172
+ channel_id: "cabc1234567defghijkl01234"
2173
+ },
2174
+ participant_focused_meeting: false,
2175
+ push_change_to_calendar: false,
2176
+ resources: [{
2177
+ resource_type: "whiteboard",
2178
+ resource_id: "X4Hy02w3QUOdskKofgb9Jg",
2179
+ permission_level: "editor"
2180
+ }],
2181
+ auto_start_meeting_summary: false,
2182
+ auto_start_ai_companion_questions: false
2183
+ },
2184
+ start_time: "2022-03-25T07:29:29Z",
2185
+ start_url: "https://example.com/s/11111",
2186
+ timezone: "America/Los_Angeles",
2187
+ topic: "My Meeting",
2188
+ tracking_fields: [{
2189
+ field: "field1",
2190
+ value: "value1",
2191
+ visible: true
2192
+ }],
2193
+ type: 2
2194
+ } };
2195
+ const getMeetingExamplePayload = { data: {
2196
+ assistant_id: "kFFvsJc-Q1OSxaJQLvaa_A",
2197
+ host_email: "jchill@example.com",
2198
+ host_id: "30R7kT7bTIKSNUFEuH_Qlg",
2199
+ id: 97763643886,
2200
+ uuid: "aDYlohsHRtCd4ii1uC2+hA==",
2201
+ agenda: "My Meeting",
2202
+ created_at: "2022-03-25T07:29:29Z",
2203
+ duration: 60,
2204
+ encrypted_password: "8pEkRweVXPV3Ob2KJYgFTRlDtl1gSn.1",
2205
+ pstn_password: "123456",
2206
+ h323_password: "123456",
2207
+ join_url: "https://example.com/j/11111",
2208
+ chat_join_url: "https://example.com/launch/jc/11111",
2209
+ occurrences: [{
2210
+ duration: 60,
2211
+ occurrence_id: "1648194360000",
2212
+ start_time: "2022-03-25T07:46:00Z",
2213
+ status: "available"
2214
+ }],
2215
+ password: "123456",
2216
+ pmi: "97891943927",
2217
+ pre_schedule: false,
2218
+ recurrence: {
2219
+ end_date_time: "2022-04-02T15:59:00Z",
2220
+ end_times: 7,
2221
+ monthly_day: 1,
2222
+ monthly_week: 1,
2223
+ monthly_week_day: 1,
2224
+ repeat_interval: 1,
2225
+ type: 1,
2226
+ weekly_days: "1"
2227
+ },
2228
+ settings: {
2229
+ allow_multiple_devices: true,
2230
+ alternative_hosts: "jchill@example.com;thill@example.com",
2231
+ alternative_hosts_email_notification: true,
2232
+ alternative_host_update_polls: true,
2233
+ approval_type: 0,
2234
+ approved_or_denied_countries_or_regions: {
2235
+ approved_list: ["CX"],
2236
+ denied_list: ["CA"],
2237
+ enable: true,
2238
+ method: "approve"
2239
+ },
2240
+ audio: "telephony",
2241
+ audio_conference_info: "test",
2242
+ authentication_domains: "example.com",
2243
+ authentication_exception: [{
2244
+ email: "jchill@example.com",
2245
+ name: "Jill Chill",
2246
+ join_url: "https://example.com/s/11111"
2247
+ }],
2248
+ authentication_name: "Sign in to Zoom",
2249
+ authentication_option: "signIn_D8cJuqWVQ623CI4Q8yQK0Q",
2250
+ auto_recording: "cloud",
2251
+ breakout_room: {
2252
+ enable: true,
2253
+ rooms: [{
2254
+ name: "room1",
2255
+ participants: ["jchill@example.com"]
2256
+ }]
2257
+ },
2258
+ calendar_type: 1,
2259
+ close_registration: false,
2260
+ contact_email: "jchill@example.com",
2261
+ contact_name: "Jill Chill",
2262
+ custom_keys: [{
2263
+ key: "key1",
2264
+ value: "value1"
2265
+ }],
2266
+ email_notification: true,
2267
+ encryption_type: "enhanced_encryption",
2268
+ focus_mode: true,
2269
+ global_dial_in_countries: ["US"],
2270
+ global_dial_in_numbers: [{
2271
+ city: "New York",
2272
+ country: "US",
2273
+ country_name: "US",
2274
+ number: "+1 1000200200",
2275
+ type: "toll"
2276
+ }],
2277
+ host_video: true,
2278
+ jbh_time: 0,
2279
+ join_before_host: true,
2280
+ language_interpretation: {
2281
+ enable: true,
2282
+ interpreters: [{
2283
+ email: "interpreter@example.com",
2284
+ languages: "US,FR"
2285
+ }]
2286
+ },
2287
+ sign_language_interpretation: {
2288
+ enable: true,
2289
+ interpreters: [{
2290
+ email: "interpreter@example.com",
2291
+ sign_language: "American"
2292
+ }]
2293
+ },
2294
+ meeting_authentication: true,
2295
+ mute_upon_entry: false,
2296
+ participant_video: false,
2297
+ private_meeting: false,
2298
+ registrants_confirmation_email: true,
2299
+ registrants_email_notification: true,
2300
+ registration_type: 1,
2301
+ show_share_button: true,
2302
+ use_pmi: false,
2303
+ waiting_room: false,
2304
+ watermark: false,
2305
+ host_save_video_order: true,
2306
+ internal_meeting: false,
2307
+ meeting_invitees: [{ email: "jchill@example.com" }],
2308
+ continuous_meeting_chat: {
2309
+ enable: true,
2310
+ auto_add_invited_external_users: true,
2311
+ channel_id: "cabc1234567defghijkl01234"
2312
+ },
2313
+ participant_focused_meeting: false,
2314
+ push_change_to_calendar: false,
2315
+ resources: [{
2316
+ resource_type: "whiteboard",
2317
+ resource_id: "X4Hy02w3QUOdskKofgb9Jg",
2318
+ permission_level: "editor"
2319
+ }],
2320
+ auto_start_meeting_summary: false,
2321
+ auto_start_ai_companion_questions: false
2322
+ },
2323
+ start_time: "2022-03-25T07:29:29Z",
2324
+ start_url: "https://example.com/s/11111",
2325
+ status: "waiting",
2326
+ timezone: "America/Los_Angeles",
2327
+ topic: "My Meeting",
2328
+ tracking_fields: [{
2329
+ field: "field1",
2330
+ value: "value1",
2331
+ visible: true
2332
+ }],
2333
+ type: 2
2334
+ } };
2335
+ const getMeetingInvitationExamplePayload = { data: {
2336
+ invitation: "Jill Chill is inviting you to a scheduled Zoom meeting.\r\n\r\nTopic: My Meeting\r\nTime: Mar 25, 2022 03:32 PM America, Los_Angeles\r\n\r\nJoin Zoom Meeting\r\nhttps://zoom.us/j/55544443210?pwd=8pEkRweVXPV3Ob2KJYgFTRlDtl1gSn.1\r\n\r\nMeeting ID: 555 4444 3210\r\nPasscode: 123456\r\nOne tap mobile\r\n+5678901234,,55544443210#,,,,*123456# US (gg)\r\n\r\nDial by your location\r\n+1 15550100 US (gg)\r\nMeeting ID: 555 4444 3210\r\nPasscode: 123456\r\nFind your local number: https://zoom.us/u/ab12cdef34jh\r\n\r\nJoin by SIP\r\n5550100@zoomcrc.com\r\n\r\nJoin by H.323\r\n192.0.2.1 (US West)\r\nMeeting ID: 555 4444 3210\r\nPasscode: 123456\r\n\r\n",
2337
+ sip_links: ["5550100@zoomcrc.com"]
2338
+ } };
2339
+ const getMeetingRecordingsExamplePayload = { data: {
2340
+ account_id: "Cx3wERazSgup7ZWRHQM8-w",
2341
+ duration: 20,
2342
+ host_id: "_0ctZtY0REqWalTmwvrdIw",
2343
+ id: 6840331990,
2344
+ recording_count: 22,
2345
+ start_time: "2021-03-18T05:41:36Z",
2346
+ topic: "My Personal Meeting",
2347
+ total_size: 22,
2348
+ type: "1",
2349
+ uuid: "BOKXuumlTAGXuqwr3bLyuQ==",
2350
+ recording_play_passcode: "yNYIS408EJygs7rE5vVsJwXIz4-VW7MH",
2351
+ recording_files: [{
2352
+ deleted_time: "2021-03-18T05:41:36Z",
2353
+ download_url: "https://example.com/rec/download/Qg75t7xZBtEbAkjdlgbfdngBBBB",
2354
+ file_path: "/9090876528/path01/demo.mp4",
2355
+ file_size: 7220,
2356
+ file_type: "MP4",
2357
+ file_extension: "M4A",
2358
+ id: "72576a1f-4e66-4a77-87c4-f13f9808bd76",
2359
+ meeting_id: "L0AGOEPVR9m5WSOOs/d+FQ==",
2360
+ play_url: "https://example.com/rec/play/Qg75t7xZBtEbAkjdlgbfdngBBBB",
2361
+ recording_end: "2021-03-18T05:41:36Z",
2362
+ recording_start: "2021-03-18T05:41:36Z",
2363
+ recording_type: "shared_screen_with_speaker_view",
2364
+ status: "completed"
2365
+ }],
2366
+ download_access_token: "abJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJodHRwczovL2V2ZW50Lnpvb20udXMiLCJhY2NvdW50SWQiOiJNdDZzdjR1MFRBeVBrd2dzTDJseGlBIiwiYXVkIjoiaHR0cHM6Ly9vYXV0aC56b29tLnVzIiwibWlkIjoieFp3SEc0c3BRU2VuekdZWG16dnpiUT09IiwiZXhwIjoxNjI2MTM5NTA3LCJ1c2VySWQiOiJEWUhyZHBqclMzdWFPZjdkUGtrZzh3In0.a6KetiC6BlkDhf1dP4KBGUE1bb2brMeraoD45yhFx0eSSSTFdkHQnsKmlJQ-hdo9Zy-4vQw3rOxlyoHv583JyZ",
2367
+ password: "981651",
2368
+ participant_audio_files: [{
2369
+ download_url: "https://example.com/rec/download/Qg75t7xZBtEbAkjdlgbfdngBBBB",
2370
+ file_name: "test.json",
2371
+ file_path: "/9090876528/path01/demo.mp4",
2372
+ file_size: 65536,
2373
+ file_type: "M4A",
2374
+ id: "a2f19f96-9294-4f51-8134-6f0eea108eb2",
2375
+ play_url: "https://example.com/rec/play/Qg75t7xZBtEbAkjdlgbfdngBBBB",
2376
+ recording_end: "2021-06-30T22:14:57Z",
2377
+ recording_start: "2021-06-30T22:14:57Z",
2378
+ status: "completed"
2379
+ }]
2380
+ } };
2381
+ const listMeetingRegistrantsExamplePayload = { data: { registrants: [{
2382
+ id: "9tboDiHUQAeOnbmudzWa5g",
2383
+ address: "1800 Amphibious Blvd.",
2384
+ city: "Mountain View",
2385
+ comments: "Looking forward to the discussion.",
2386
+ country: "US",
2387
+ custom_questions: [{
2388
+ title: "What do you hope to learn from this?",
2389
+ value: "Look forward to learning how you come up with new recipes and what other services you offer."
2390
+ }],
2391
+ email: "jchill@example.com",
2392
+ first_name: "Jill",
2393
+ industry: "Food",
2394
+ job_title: "Chef",
2395
+ last_name: "Chill",
2396
+ no_of_employees: "1-20",
2397
+ org: "Cooking Org",
2398
+ phone: "5550100",
2399
+ purchasing_time_frame: "1-3 months",
2400
+ role_in_purchase_process: "Influencer",
2401
+ state: "CA",
2402
+ status: "approved",
2403
+ zip: "94045",
2404
+ create_time: "2022-03-22T05:59:09Z",
2405
+ join_url: "https://example.com/j/11111",
2406
+ participant_pin_code: 380303
2407
+ }] } };
2408
+ const listMeetingsExamplePayload = { data: { meetings: [{
2409
+ agenda: "My Meeting",
2410
+ created_at: "2022-03-23T05:31:16Z",
2411
+ duration: 60,
2412
+ host_id: "30R7kT7bTIKSNUFEuH_Qlg",
2413
+ id: 97763643886,
2414
+ join_url: "https://example.com/j/11111",
2415
+ pmi: "97891943927",
2416
+ start_time: "2022-03-23T06:00:00Z",
2417
+ timezone: "America/Los_Angeles",
2418
+ topic: "My Meeting",
2419
+ type: 2,
2420
+ uuid: "aDYlohsHRtCd4ii1uC2+hA=="
2421
+ }] } };
2422
+ const getPhoneRecordingsExamplePayload = { data: { recordings: [{
2423
+ call_id: "7025841973929235024",
2424
+ call_log_id: "8f7345c5-0a65-4182-ab16-72fdb3be61ff",
2425
+ callee_name: "User A",
2426
+ callee_number: "1000001004",
2427
+ callee_number_type: 1,
2428
+ caller_name: "User B",
2429
+ caller_number: "1000001028",
2430
+ caller_number_type: 1,
2431
+ outgoing_by: {
2432
+ name: "User B",
2433
+ extension_number: "123476"
2434
+ },
2435
+ accepted_by: {
2436
+ name: "User A",
2437
+ extension_number: "101001"
2438
+ },
2439
+ date_time: "2021-11-02T05:35:20Z",
2440
+ direction: "inbound",
2441
+ download_url: "https://domain/recording/download/EvVNLihbQ1WpeG_ALwnNzg",
2442
+ duration: 11,
2443
+ id: "8f7345c50a654182ab1672fdb3be61ff",
2444
+ transcript_download_url: "https://domain/recording_transcript/download/8f7345c50a654182ab1672fdb3be61ff"
2445
+ }] } };
2446
+ const createUserExamplePayload = { data: {
2447
+ email: "jchill@example.com",
2448
+ first_name: "Jill",
2449
+ id: "KDcuGIm1QgePTO8WbOqwIQ",
2450
+ last_name: "Chill",
2451
+ type: 1
2452
+ } };
2453
+ const getUserExamplePayload = { data: {
2454
+ id: "zJKyaiAyTNC-MWjiWC18KQ",
2455
+ dept: "Developers",
2456
+ email: "jchill@example.com",
2457
+ first_name: "Jill",
2458
+ last_client_version: "5.9.6.4993(mac)",
2459
+ last_login_time: "2021-05-05T20:40:30Z",
2460
+ last_name: "Chill",
2461
+ pmi: 3542471135,
2462
+ role_name: "Admin",
2463
+ timezone: "Asia/Shanghai",
2464
+ type: 1,
2465
+ use_pmi: false,
2466
+ display_name: "Jill Chill",
2467
+ account_id: "q6gBJVO5TzexKYTb_I2rpg",
2468
+ account_number: 10009239,
2469
+ cms_user_id: "KDcuGIm1QgePTO8WbOqwIQ",
2470
+ company: "Jill",
2471
+ user_created_at: "2018-10-31T04:32:37Z",
2472
+ custom_attributes: [{
2473
+ key: "cbf_cywdkexrtqc73f97gd4w6g",
2474
+ name: "A1",
2475
+ value: "1"
2476
+ }],
2477
+ employee_unique_id: "HqDyI037Qjili1kNsSIrIg",
2478
+ group_ids: ["RSMaSp8sTEGK0_oamiA2_w"],
2479
+ im_group_ids: ["t-_-d56CSWG-7BF15LLrOw"],
2480
+ jid: "jchill@example.com",
2481
+ job_title: "API Developer",
2482
+ language: "en-US",
2483
+ location: "Paris",
2484
+ login_types: [101],
2485
+ manager: "thill@example.com",
2486
+ personal_meeting_url: "example.com",
2487
+ phone_numbers: [{
2488
+ code: "+1",
2489
+ country: "US",
2490
+ label: "Mobile",
2491
+ number: "800000000",
2492
+ verified: true
2493
+ }],
2494
+ pic_url: "example.com",
2495
+ plan_united_type: "1",
2496
+ pronouns: "3123",
2497
+ pronouns_option: 1,
2498
+ role_id: "0",
2499
+ status: "pending",
2500
+ vanity_url: "example.com",
2501
+ verified: 1,
2502
+ cluster: "us04",
2503
+ zoom_one_type: 4
2504
+ } };
2505
+ const listChatMessagesExamplePayload = { data: { messages: [{
2506
+ bot_message: {},
2507
+ date_time: "2020-02-10T21:39:50Z",
2508
+ files: [{
2509
+ download_url: "https://zoom.us/file/download/xBvggqyjQUal6TecwMlYwQ?filename=example.jpg&jwt=eyJhbGciOiJIUzI1NiJ9.eyJkaWciOiI3Yzg5YzBhYjIzYmZmMjdjNzE3NTQ4YzdjMTc0Njk3MWYzYjNmNjFjMzU5OTliNjE1ZjdjMWJmMzc5YTJiZThlIiwiYXVkIjoiZmlsZSIsImlzcyI6ImNyb3NzZmlsZSIsImV4cCI6MTY0ODI2NDY5N30.2fQxw3F1cEhvFJmnE2zPOdkHnPeZUktv_P0M--e-Tg8",
2510
+ file_id: "xBvggqyjQUal6TecwMlYwQ",
2511
+ file_name: "example.jpg",
2512
+ file_size: 3966
2513
+ }],
2514
+ rich_text: [{
2515
+ start_position: 0,
2516
+ end_position: 5,
2517
+ format_type: "Paragraph",
2518
+ format_attr: "h1"
2519
+ }],
2520
+ download_url: "https://zoom.us/file/download/xBvggqyjQUal6TecwMlYwQ?filename=example.jpg&jwt=eyJhbGciOiJIUzI1NiJ9.eyJkaWciOiI3Yzg5YzBhYjIzYmZmMjdjNzE3NTQ4YzdjMTc0Njk3MWYzYjNmNjFjMzU5OTliNjE1ZjdjMWJmMzc5YTJiZThlIiwiYXVkIjoiZmlsZSIsImlzcyI6ImNyb3NzZmlsZSIsImV4cCI6MTY0ODI2NDY5N30.2fQxw3F1cEhvFJmnE2zPOdkHnPeZUktv_P0M--e-Tg8",
2521
+ file_id: "xBvggqyjQUal6TecwMlYwQ",
2522
+ file_name: "example.jpg",
2523
+ file_size: 3966,
2524
+ id: "EAB58B01-B35F-4F97-BA69-F9650F54679A",
2525
+ message: "hello, world!",
2526
+ reactions: [{
2527
+ emoji: "U+1F600",
2528
+ total_count: 1,
2529
+ senders: [{
2530
+ user_id: "v4iyWT1LTfy8QvPG4GTvdg",
2531
+ member_id: "R4VM29Oj0fVM2hhEmSKVM2hhezJTezJTKVM2hezJT2hezJ"
2532
+ }]
2533
+ }],
2534
+ reply_main_message_id: "27ED2949-6457-417C-83EA-72515DAF00BD",
2535
+ reply_main_message_timestamp: 1581370790388,
2536
+ sender: "jchill@example.com",
2537
+ sender_member_id: "R4VM29Oj0fVM2hhEmSKVM2hhezJTezJTKVM2hezJT2hezJTSK",
2538
+ sender_display_name: "Tom",
2539
+ status: "Edited",
2540
+ timestamp: 1581370790388,
2541
+ at_items: [{
2542
+ at_contact: "v4iyWT1LTfy8QvPG4GTvdg",
2543
+ at_contact_member_id: "R4VM29Oj0fVM2hhEmSKVM2hhezJTezJTKVM2hezJT2hezJTSK",
2544
+ at_type: 2,
2545
+ end_position: 8,
2546
+ start_position: 0
2547
+ }]
2548
+ }] } };
2549
+ const listUserChannelsExamplePayload = { data: { channels: [{
2550
+ channel_settings: {
2551
+ add_member_permissions: 2,
2552
+ new_members_can_see_previous_messages_files: true,
2553
+ posting_permissions: 3,
2554
+ mention_all_permissions: 1,
2555
+ allow_to_add_external_users: 2
2556
+ },
2557
+ id: "cabc1234567defghijkl01234",
2558
+ jid: "cabc1234567defghijkl01234@conference.xmpp.zoom.us",
2559
+ name: "Developers",
2560
+ type: 2,
2561
+ channel_url: "https://zoom.us/launch/chat/v2/eyJzaWQiOiIyY2RkZjNyNjU3YTY0ODUzOWVhOThkODFhNjRiODE2YkBjb25mZXJlbmNlLnhtcHBkZXYuem9vbS51cyJ1"
2562
+ }] } };
2563
+ const listUsersExamplePayload = { data: { users: [{
2564
+ user_created_at: "2019-06-01T07:58:03Z",
2565
+ custom_attributes: [{
2566
+ key: "cbf_cywdkexrtqc73f97gd4w6g",
2567
+ name: "A1",
2568
+ value: "2323"
2569
+ }],
2570
+ dept: "Developers",
2571
+ email: "jchill@example.com",
2572
+ employee_unique_id: "HqDyI037Qjili1kNsSIrIg",
2573
+ first_name: "Jill",
2574
+ group_ids: ["t-_-d56CSWG-7BF15LLrOw"],
2575
+ host_key: "299492849",
2576
+ id: "KDcuGIm1QgePTO8WbOqwIQ",
2577
+ im_group_ids: ["t-_-d56CSWG-7BF15LLrOw"],
2578
+ last_client_version: "5.2.45120.0906(win)",
2579
+ last_login_time: "2022-03-25T05:40:55Z",
2580
+ last_name: "Chill",
2581
+ plan_united_type: "1",
2582
+ pmi: 6589310093,
2583
+ role_id: "0",
2584
+ status: "active",
2585
+ timezone: "Asia/Shanghai",
2586
+ type: 1,
2587
+ verified: 1,
2588
+ display_name: "Jill Chill"
2589
+ }] } };
2590
+ const addWebinarRegistrantExamplePayload = { data: {
2591
+ id: 92674392836,
2592
+ join_url: "https://example.com/j/22222",
2593
+ registrant_id: "fdgsfh2ey82fuh",
2594
+ start_time: "2021-07-13T21:44:51Z",
2595
+ topic: "My Webinar",
2596
+ occurrences: [{
2597
+ duration: 60,
2598
+ occurrence_id: "1648194360000",
2599
+ start_time: "2022-03-25T07:46:00Z",
2600
+ status: "available"
2601
+ }]
2602
+ } };
2603
+ const getWebinarExamplePayload = { data: {
2604
+ host_email: "jchill@example.com",
2605
+ host_id: "30R7kT7bTIKSNUFEuH_Qlg",
2606
+ id: 97871060099,
2607
+ uuid: "m3WqMkvuRXyYqH+eKWhk9w==",
2608
+ agenda: "My webinar",
2609
+ created_at: "2022-03-26T07:18:32Z",
2610
+ duration: 60,
2611
+ join_url: "https://example.com/j/11111",
2612
+ occurrences: [{
2613
+ duration: 60,
2614
+ occurrence_id: "1648194360000",
2615
+ start_time: "2022-03-25T07:46:00Z",
2616
+ status: "available"
2617
+ }],
2618
+ password: "123456",
2619
+ encrypted_passcode: "8pEkRweVXPV3Ob2KJYgFTRlDtl1gSn.1",
2620
+ h323_passcode: "123456",
2621
+ recurrence: {
2622
+ end_date_time: "2022-04-02T15:59:00Z",
2623
+ end_times: 7,
2624
+ monthly_day: 1,
2625
+ monthly_week: 1,
2626
+ monthly_week_day: 1,
2627
+ repeat_interval: 1,
2628
+ type: 1,
2629
+ weekly_days: "1"
2630
+ },
2631
+ settings: {
2632
+ allow_multiple_devices: true,
2633
+ alternative_hosts: "jchill@example.com",
2634
+ alternative_host_update_polls: true,
2635
+ approval_type: 0,
2636
+ attendees_and_panelists_reminder_email_notification: {
2637
+ enable: true,
2638
+ type: 0
2639
+ },
2640
+ audio: "telephony",
2641
+ audio_conference_info: "test",
2642
+ authentication_domains: "example.com",
2643
+ authentication_name: "Sign in to Zoom",
2644
+ authentication_option: "signIn_D8cJuqWVQ623CI4Q8yQK0Q",
2645
+ auto_recording: "cloud",
2646
+ contact_email: "jchill@example.com",
2647
+ contact_name: "Jill Chill",
2648
+ email_language: "en-US",
2649
+ follow_up_absentees_email_notification: {
2650
+ enable: true,
2651
+ type: 0
2652
+ },
2653
+ follow_up_attendees_email_notification: {
2654
+ enable: true,
2655
+ type: 0
2656
+ },
2657
+ global_dial_in_countries: ["US"],
2658
+ hd_video: false,
2659
+ hd_video_for_attendees: false,
2660
+ host_video: true,
2661
+ language_interpretation: {
2662
+ enable: true,
2663
+ interpreters: [{
2664
+ email: "interpreter@example.com",
2665
+ languages: "US,CN"
2666
+ }]
2667
+ },
2668
+ sign_language_interpretation: {
2669
+ enable: true,
2670
+ interpreters: [{
2671
+ email: "interpreter@example.com",
2672
+ sign_language: "American"
2673
+ }]
2674
+ },
2675
+ panelist_authentication: true,
2676
+ meeting_authentication: true,
2677
+ add_watermark: true,
2678
+ add_audio_watermark: true,
2679
+ notify_registrants: true,
2680
+ on_demand: false,
2681
+ panelists_invitation_email_notification: true,
2682
+ panelists_video: true,
2683
+ post_webinar_survey: true,
2684
+ practice_session: false,
2685
+ question_and_answer: {
2686
+ allow_submit_questions: true,
2687
+ allow_anonymous_questions: true,
2688
+ answer_questions: "all",
2689
+ attendees_can_comment: true,
2690
+ attendees_can_upvote: true,
2691
+ allow_auto_reply: true,
2692
+ auto_reply_text: "Thank you for your question. We will get back to you shortly.",
2693
+ enable: true
2694
+ },
2695
+ registrants_confirmation_email: true,
2696
+ registrants_email_notification: true,
2697
+ registrants_restrict_number: 100,
2698
+ registration_type: 1,
2699
+ send_1080p_video_to_attendees: false,
2700
+ show_share_button: true,
2701
+ survey_url: "https://example.com",
2702
+ enable_session_branding: true
2703
+ },
2704
+ start_time: "2022-03-26T07:18:32Z",
2705
+ start_url: "https://example.com/s/11111",
2706
+ timezone: "America/Los_Angeles",
2707
+ topic: "My Webinar",
2708
+ tracking_fields: [{
2709
+ field: "field1",
2710
+ value: "value1"
2711
+ }],
2712
+ type: 5,
2713
+ is_simulive: true,
2714
+ record_file_id: "f09340e1-cdc3-4eae-9a74-98f9777ed908"
2715
+ } };
2716
+ const listWebinarParticipantsExamplePayload = { data: { participants: [{
2717
+ id: "30R7kT7bTIKSNUFEuH_Qlg",
2718
+ name: "Jill Chill",
2719
+ user_id: "ABCDEF123456",
2720
+ registrant_id: "_f08HhPJS82MIVLuuFaJPg",
2721
+ user_email: "jchill@example.com",
2722
+ join_time: "2019-02-01T12:34:12.660Z",
2723
+ leave_time: "2019-02-01T12:54:12.660Z",
2724
+ duration: 20,
2725
+ failover: false,
2726
+ status: "in_meeting"
2727
+ }] } };
2728
+ const listWebinarRegistrantsExamplePayload = { data: { registrants: [{
2729
+ id: "9tboDiHUQAeOnbmudzWa5g",
2730
+ address: "1800 Amphibious Blvd.",
2731
+ city: "Mountain View",
2732
+ comments: "Looking forward to the discussion.",
2733
+ country: "US",
2734
+ custom_questions: [{
2735
+ title: "What do you hope to learn from this?",
2736
+ value: "Look forward to learning how you come up with new recipes and what other services you offer."
2737
+ }],
2738
+ email: "jchill@example.com",
2739
+ first_name: "Jill",
2740
+ industry: "Food",
2741
+ job_title: "Chef",
2742
+ last_name: "Chill",
2743
+ no_of_employees: "1-20",
2744
+ org: "Cooking Org",
2745
+ phone: "5550100",
2746
+ purchasing_time_frame: "1-3 months",
2747
+ role_in_purchase_process: "Influencer",
2748
+ state: "CA",
2749
+ status: "approved",
2750
+ zip: "94045",
2751
+ create_time: "2022-03-22T05:59:09Z",
2752
+ join_url: "https://example.com/j/11111"
2753
+ }] } };
2754
+ const listWebinarsExamplePayload = { data: { webinars: [{
2755
+ agenda: "Learn more about Zoom APIs",
2756
+ created_at: "2021-07-01T22:00:00Z",
2757
+ duration: 60,
2758
+ host_id: "x1yCzABCDEfg23HiJKl4mN",
2759
+ id: 1234567890,
2760
+ join_url: "https://example.com/j/11111",
2761
+ start_time: "2021-07-13T21:00:00Z",
2762
+ timezone: "America/Los_Angeles",
2763
+ topic: "My Webinar",
2764
+ type: 9,
2765
+ uuid: "4444AAAiAAAAAiAiAiiAii==",
2766
+ is_simulive: true
2767
+ }] } };
2768
+ //#endregion
2769
+ //#region src/actions/meetings/index.ts
2770
+ var meetings_default = {
2771
+ createMeeting: (0, _prismatic_io_spectral.action)({
2772
+ display: {
2773
+ label: "Create Meeting",
2774
+ description: "Create a new meeting with an existing user as the host"
2775
+ },
2776
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, topic, meetingType, startTime, duration, timezone, password, agenda, recurrence, repeatInterval, weeklyDay, monthlyDay, monthlyWeek, monthlyWeekDay, endDateTime, hostVideo, participantVideo, joinBeforeHost, muteUponEntry, watermark, usePMI, approvalType, registrationType, registrationEmailNotifications, settingsExtraFields, audio, autoRecording, availableDialInCountries, defaultPassword, preSchedule, endTimes, scheduleFor, templateId, trackingFields }) => {
2777
+ const client = createZoomClient({
2778
+ connection,
2779
+ debug
2780
+ });
2781
+ const meetingData = {
2782
+ agenda,
2783
+ default_password: defaultPassword,
2784
+ duration,
2785
+ password,
2786
+ pre_schedule: preSchedule,
2787
+ recurrence: recurrence ? {
2788
+ end_date_time: endDateTime,
2789
+ end_times: endTimes,
2790
+ monthly_day: monthlyDay,
2791
+ monthly_week: monthlyWeek,
2792
+ monthly_week_day: monthlyWeekDay,
2793
+ repeat_interval: repeatInterval,
2794
+ type: recurrence,
2795
+ weekly_days: weeklyDay
2796
+ } : void 0,
2797
+ schedule_for: scheduleFor,
2798
+ settings: {
2799
+ host_video: hostVideo,
2800
+ participant_video: participantVideo,
2801
+ join_before_host: joinBeforeHost,
2802
+ mute_upon_entry: muteUponEntry,
2803
+ watermark,
2804
+ use_pmi: usePMI,
2805
+ approval_type: approvalType,
2806
+ registration_type: registrationType,
2807
+ audio,
2808
+ auto_recording: autoRecording,
2809
+ global_dial_in_countries: availableDialInCountries,
2810
+ registrants_email_notification: registrationEmailNotifications,
2811
+ ...settingsExtraFields || {}
2812
+ },
2813
+ start_time: startTime,
2814
+ template_id: templateId,
2815
+ timezone,
2816
+ topic,
2817
+ tracking_fields: trackingFields,
2818
+ type: meetingType
2819
+ };
2820
+ const { data } = await client.post(`/users/${userId}/meetings`, meetingData);
2821
+ return { data };
2822
+ },
2823
+ inputs: {
2824
+ connection,
2825
+ userId,
2826
+ topic: {
2827
+ ...topic,
2828
+ comments: "The meeting's topic."
2829
+ },
2830
+ meetingType,
2831
+ startTime,
2832
+ duration,
2833
+ timezone: {
2834
+ ...timezone,
2835
+ comments: "The timezone to assign to the 'Start Time' input value. This field is only used for scheduled or recurring meetings with a fixed time. For a list of supported timezones and their formats, see https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones"
2836
+ },
2837
+ password,
2838
+ agenda,
2839
+ recurrence: {
2840
+ ...recurrence,
2841
+ required: false
2842
+ },
2843
+ repeatInterval,
2844
+ weeklyDay,
2845
+ monthlyDay,
2846
+ monthlyWeek,
2847
+ monthlyWeekDay,
2848
+ endDateTime,
2849
+ hostVideo,
2850
+ participantVideo,
2851
+ joinBeforeHost,
2852
+ muteUponEntry,
2853
+ watermark,
2854
+ usePMI,
2855
+ approvalType,
2856
+ registrationType,
2857
+ registrationEmailNotifications,
2858
+ settingsExtraFields,
2859
+ audio,
2860
+ autoRecording,
2861
+ availableDialInCountries,
2862
+ defaultPassword,
2863
+ preSchedule,
2864
+ endTimes,
2865
+ scheduleFor,
2866
+ templateId,
2867
+ trackingFields
2868
+ },
2869
+ examplePayload: createMeetingExamplePayload
2870
+ }),
2871
+ addMeetingRegistrant: (0, _prismatic_io_spectral.action)({
2872
+ display: {
2873
+ label: "Add Meeting Registrant",
2874
+ description: "Add a new registrant to an existing meeting"
2875
+ },
2876
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId, email, firstName, lastName, address, city, country, zip, state, phone, industry, org, jobTitle, purchasingTimeFrame, roleInPurchaseProcess, numberOfEmployees, customQuestions, language, autoApprove, comments, ocurrenceIds }) => {
2877
+ const client = createZoomClient({
2878
+ connection,
2879
+ debug
2880
+ });
2881
+ const registrantData = {
2882
+ email,
2883
+ first_name: firstName,
2884
+ last_name: lastName,
2885
+ address,
2886
+ city,
2887
+ country,
2888
+ zip,
2889
+ state,
2890
+ phone,
2891
+ industry,
2892
+ org,
2893
+ job_title: jobTitle,
2894
+ purchasing_time_frame: purchasingTimeFrame,
2895
+ role_in_purchase_process: roleInPurchaseProcess,
2896
+ no_of_employees: numberOfEmployees,
2897
+ comments,
2898
+ custom_questions: customQuestions,
2899
+ language,
2900
+ auto_approve: autoApprove
2901
+ };
2902
+ const { data } = await client.post(`/meetings/${meetingId}/registrants`, registrantData, { params: { occurrence_ids: ocurrenceIds } });
2903
+ return { data };
2904
+ },
2905
+ inputs: {
2906
+ connection,
2907
+ meetingId,
2908
+ email,
2909
+ firstName,
2910
+ lastName,
2911
+ address,
2912
+ city,
2913
+ country,
2914
+ zip,
2915
+ state,
2916
+ phone,
2917
+ industry,
2918
+ org,
2919
+ jobTitle,
2920
+ purchasingTimeFrame,
2921
+ roleInPurchaseProcess,
2922
+ numberOfEmployees,
2923
+ customQuestions,
2924
+ language,
2925
+ autoApprove,
2926
+ comments,
2927
+ ocurrenceIds
2928
+ },
2929
+ examplePayload: addMeetingRegistrantExamplePayload
2930
+ }),
2931
+ getMeetingInvitation: (0, _prismatic_io_spectral.action)({
2932
+ display: {
2933
+ label: "Get Meeting Invitation",
2934
+ description: "Get an invitation for a meeting"
2935
+ },
2936
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId }) => {
2937
+ const { data } = await createZoomClient({
2938
+ connection,
2939
+ debug
2940
+ }).get(`/meetings/${meetingId}/invitation`);
2941
+ return { data };
2942
+ },
2943
+ inputs: {
2944
+ connection,
2945
+ meetingId
2946
+ },
2947
+ examplePayload: getMeetingInvitationExamplePayload
2948
+ }),
2949
+ getMeetingRecordings: (0, _prismatic_io_spectral.action)({
2950
+ display: {
2951
+ label: "Get Meeting Recordings",
2952
+ description: "Get a list of all recordings of a meeting"
2953
+ },
2954
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId, includeFields, ttl }) => {
2955
+ const { data } = await createZoomClient({
2956
+ connection,
2957
+ debug
2958
+ }).get(`/meetings/${meetingId}/recordings`, { params: {
2959
+ include_fields: includeFields,
2960
+ ttl
2961
+ } });
2962
+ return { data };
2963
+ },
2964
+ inputs: {
2965
+ connection,
2966
+ meetingId,
2967
+ includeFields,
2968
+ ttl
2969
+ },
2970
+ examplePayload: getMeetingRecordingsExamplePayload
2971
+ }),
2972
+ listMeetingRegistrants: (0, _prismatic_io_spectral.action)({
2973
+ display: {
2974
+ label: "List Meeting Registrants",
2975
+ description: "Get the information and metadata of all registrants to a meeting by Id"
2976
+ },
2977
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId, ocurrenceId, status }) => {
2978
+ return { data: await getAllPaginationResults(createZoomClient({
2979
+ connection,
2980
+ debug
2981
+ }), `/meetings/${meetingId}/registrants`, "registrants", {
2982
+ occurence_id: ocurrenceId,
2983
+ status
2984
+ }) };
2985
+ },
2986
+ inputs: {
2987
+ connection,
2988
+ meetingId,
2989
+ ocurrenceId,
2990
+ status: registrantStatus
2991
+ },
2992
+ examplePayload: listMeetingRegistrantsExamplePayload
2993
+ }),
2994
+ updateMeeting: (0, _prismatic_io_spectral.action)({
2995
+ display: {
2996
+ label: "Update Meeting",
2997
+ description: "Update the information and metadata of an existing meeting by Id"
2998
+ },
2999
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId, topic, meetingType, startTime, duration, timezone, password, agenda, recurrence, repeatInterval, weeklyDay, monthlyDay, monthlyWeek, monthlyWeekDay, endDateTime, hostVideo, participantVideo, joinBeforeHost, muteUponEntry, watermark, usePMI, approvalType, registrationType, registrationEmailNotifications, settingsExtraFields, audio, autoRecording, availableDialInCountries, preSchedule, endTimes, scheduleFor, templateId, trackingFields, occurrenceIdQuery }) => {
3000
+ const { data } = await createZoomClient({
3001
+ connection,
3002
+ debug
3003
+ }).patch(`/meetings/${meetingId}`, {
3004
+ agenda,
3005
+ duration,
3006
+ password,
3007
+ pre_schedule: preSchedule,
3008
+ schedule_for: scheduleFor,
3009
+ recurrence: {
3010
+ end_date_time: endDateTime,
3011
+ end_times: endTimes,
3012
+ monthly_day: monthlyDay,
3013
+ monthly_week: monthlyWeek,
3014
+ monthly_week_day: monthlyWeekDay,
3015
+ repeat_interval: repeatInterval,
3016
+ type: recurrence,
3017
+ weekly_days: weeklyDay
3018
+ },
3019
+ settings: {
3020
+ host_video: hostVideo,
3021
+ participant_video: participantVideo,
3022
+ join_before_host: joinBeforeHost,
3023
+ mute_upon_entry: muteUponEntry,
3024
+ watermark,
3025
+ use_pmi: usePMI,
3026
+ approval_type: approvalType,
3027
+ registration_type: registrationType,
3028
+ audio,
3029
+ auto_recording: autoRecording,
3030
+ global_dial_in_countries: availableDialInCountries,
3031
+ registrants_email_notification: registrationEmailNotifications,
3032
+ ...settingsExtraFields || {}
3033
+ },
3034
+ start_time: startTime,
3035
+ template_id: templateId,
3036
+ timezone,
3037
+ topic,
3038
+ tracking_fields: trackingFields,
3039
+ type: meetingType
3040
+ }, { params: { occurrence_id: occurrenceIdQuery } });
3041
+ return { data };
3042
+ },
3043
+ inputs: {
3044
+ connection,
3045
+ meetingId,
3046
+ meetingType,
3047
+ recurrence,
3048
+ topic,
3049
+ startTime,
3050
+ duration,
3051
+ timezone,
3052
+ password,
3053
+ preSchedule,
3054
+ scheduleFor,
3055
+ templateId,
3056
+ agenda,
3057
+ repeatInterval,
3058
+ weeklyDay,
3059
+ monthlyDay,
3060
+ monthlyWeek,
3061
+ monthlyWeekDay,
3062
+ endDateTime,
3063
+ endTimes,
3064
+ hostVideo,
3065
+ participantVideo,
3066
+ joinBeforeHost,
3067
+ muteUponEntry,
3068
+ watermark,
3069
+ usePMI,
3070
+ approvalType,
3071
+ registrationType,
3072
+ registrationEmailNotifications,
3073
+ settingsExtraFields,
3074
+ audio,
3075
+ autoRecording,
3076
+ availableDialInCountries,
3077
+ occurrenceIdQuery,
3078
+ trackingFields
3079
+ },
3080
+ examplePayload: { data: {} }
3081
+ }),
3082
+ listMeetings: (0, _prismatic_io_spectral.action)({
3083
+ display: {
3084
+ label: "List Meetings",
3085
+ description: "List all meetings by user Id"
3086
+ },
3087
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, typeOfMeeting, from, to, timezoneQuery }) => {
3088
+ return { data: await getAllPaginationResults(createZoomClient({
3089
+ connection,
3090
+ debug
3091
+ }), `/users/${userId}/meetings`, "meetings", {
3092
+ type: typeOfMeeting,
3093
+ from,
3094
+ to,
3095
+ timezone: timezoneQuery
3096
+ }) };
3097
+ },
3098
+ inputs: {
3099
+ connection,
3100
+ userId,
3101
+ typeOfMeeting,
3102
+ from,
3103
+ to,
3104
+ timezoneQuery
3105
+ },
3106
+ examplePayload: listMeetingsExamplePayload
3107
+ }),
3108
+ getMeeting: (0, _prismatic_io_spectral.action)({
3109
+ display: {
3110
+ label: "Get Meeting",
3111
+ description: "Get the information and metadata of a meeting by Id"
3112
+ },
3113
+ perform: async ({ debug: { enabled: debug } }, { connection, meetingId, ocurrenceId, showPreviousOccurrences }) => {
3114
+ const { data } = await createZoomClient({
3115
+ connection,
3116
+ debug
3117
+ }).get(`/meetings/${meetingId}`, { params: {
3118
+ occurrence_id: ocurrenceId,
3119
+ show_previous_occurrences: showPreviousOccurrences
3120
+ } });
3121
+ return { data };
3122
+ },
3123
+ inputs: {
3124
+ connection,
3125
+ meetingId,
3126
+ ocurrenceId,
3127
+ showPreviousOccurrences
3128
+ },
3129
+ examplePayload: getMeetingExamplePayload
3130
+ })
3131
+ };
3132
+ //#endregion
3133
+ //#region src/actions/misc/rawRequest.ts
3134
+ const { debugRequest: _, ...rawRequestInputs } = _prismatic_io_spectral_http.inputs;
3135
+ //#endregion
3136
+ //#region src/actions/misc/index.ts
3137
+ var misc_default = { rawRequest: (0, _prismatic_io_spectral.action)({
3138
+ display: {
3139
+ label: "Raw Request",
3140
+ description: "Send raw HTTP request to Zoom"
3141
+ },
3142
+ perform: async (context, { connection, ...rawRequestInputs }) => {
3143
+ const baseUrl = `https://api.zoom.us/v2`;
3144
+ const token = connection?.token?.access_token;
3145
+ try {
3146
+ const { data, headers } = await (0, _prismatic_io_spectral_http.sendRawRequest)(baseUrl, {
3147
+ ...rawRequestInputs,
3148
+ debugRequest: context.debug.enabled
3149
+ }, { Authorization: `Bearer ${token}` });
3150
+ return { data: {
3151
+ data,
3152
+ headers
3153
+ } };
3154
+ } catch (error) {
3155
+ const handled = (0, _prismatic_io_spectral_http.handleErrors)(error);
3156
+ const serialized = _prismatic_io_spectral.util.types.toJSON(handled);
3157
+ throw new Error(serialized);
3158
+ }
3159
+ },
3160
+ inputs: {
3161
+ connection,
3162
+ ...rawRequestInputs,
3163
+ url: {
3164
+ ...rawRequestInputs.url,
3165
+ comments: "Input the path only (/workspaces), The base URL is already included (https://api.zoom.us/v2). For example, to connect to https://api.zoom.us/v2/workspaces, only /workspaces is entered in this field.",
3166
+ example: "/workspaces"
3167
+ }
3168
+ }
3169
+ }) };
3170
+ //#endregion
3171
+ //#region src/actions/recordings/index.ts
3172
+ var recordings_default = { getPhoneRecordings: (0, _prismatic_io_spectral.action)({
3173
+ display: {
3174
+ label: "Get Phone Recordings",
3175
+ description: "List all of the given users call recordings"
3176
+ },
3177
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, from, to }) => {
3178
+ return { data: await getAllPaginationResults(createZoomClient({
3179
+ connection,
3180
+ debug
3181
+ }), `/phone/users/${userId}/recordings`, "recordings", {
3182
+ from,
3183
+ to
3184
+ }) };
3185
+ },
3186
+ inputs: {
3187
+ connection,
3188
+ userId,
3189
+ from: {
3190
+ ...from,
3191
+ comments: "The date range defined by the 'From' and 'To' inputs should be a month as the response only includes one month's worth of data at once. The month defined should fall within the last six months. If unspecified, returns data from the past 30 days."
3192
+ },
3193
+ to: {
3194
+ ...to,
3195
+ comments: "Required only when the 'From' input is provided."
3196
+ }
3197
+ },
3198
+ examplePayload: getPhoneRecordingsExamplePayload
3199
+ }) };
3200
+ //#endregion
3201
+ //#region src/actions/users/index.ts
3202
+ var users_default = {
3203
+ listUsers: (0, _prismatic_io_spectral.action)({
3204
+ display: {
3205
+ label: "List Users",
3206
+ description: "List all users connected to your Zoom account"
3207
+ },
3208
+ perform: async ({ debug: { enabled: debug } }, { connection, status, roleId, includeFields, license }) => {
3209
+ return { data: await getAllPaginationResults(createZoomClient({
3210
+ connection,
3211
+ debug
3212
+ }), `/users`, "users", {
3213
+ status,
3214
+ role_id: roleId,
3215
+ include_fields: includeFields,
3216
+ license
3217
+ }) };
3218
+ },
3219
+ inputs: {
3220
+ connection,
3221
+ status: userStatus,
3222
+ roleId,
3223
+ includeFields,
3224
+ license
3225
+ },
3226
+ examplePayload: listUsersExamplePayload
3227
+ }),
3228
+ createUser: (0, _prismatic_io_spectral.action)({
3229
+ display: {
3230
+ label: "Create User",
3231
+ description: "Create a new user"
3232
+ },
3233
+ perform: async ({ debug: { enabled: debug } }, { connection, action, email, firstName, lastName, displayName, password, userType, zoomPhone, zoomOneType, planUnitedType }) => {
3234
+ const { data } = await createZoomClient({
3235
+ connection,
3236
+ debug
3237
+ }).post(`/users`, {
3238
+ action,
3239
+ user_info: {
3240
+ email,
3241
+ first_name: firstName,
3242
+ last_name: lastName,
3243
+ display_name: displayName,
3244
+ password,
3245
+ type: userType,
3246
+ feature: {
3247
+ zoom_phone: zoomPhone,
3248
+ zoom_one_type: zoomOneType
3249
+ },
3250
+ plan_united_type: planUnitedType
3251
+ }
3252
+ });
3253
+ return { data };
3254
+ },
3255
+ inputs: {
3256
+ connection,
3257
+ action: userAction,
3258
+ email,
3259
+ firstName,
3260
+ lastName,
3261
+ displayName,
3262
+ password: userPassword,
3263
+ userType,
3264
+ zoomPhone,
3265
+ zoomOneType,
3266
+ planUnitedType
3267
+ },
3268
+ examplePayload: createUserExamplePayload
3269
+ }),
3270
+ updateUser: (0, _prismatic_io_spectral.action)({
3271
+ display: {
3272
+ label: "Update User",
3273
+ description: "Update the information or metadata of a user by Id"
3274
+ },
3275
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, loginType, removeTspCredentials, cmsUserId, company, customAttributes, dept, firstName, groupId, hostKey, jobTitle, language, lastName, location, manager, phoneNumbers, pmi, pronouns, pronounsOption, timezone, userType, usePMI, vanityName, displayName, zoomOneTypeUpdate, planUnitedTypeUpdate, zoomPhone, aboutMe, linkedinUrl }) => {
3276
+ const { data } = await createZoomClient({
3277
+ connection,
3278
+ debug
3279
+ }).patch(`/users/${userId}`, {
3280
+ cms_user_id: cmsUserId,
3281
+ company,
3282
+ custom_attributes: customAttributes,
3283
+ dept,
3284
+ first_name: firstName,
3285
+ group_id: groupId,
3286
+ host_key: hostKey,
3287
+ job_title: jobTitle,
3288
+ language,
3289
+ last_name: lastName,
3290
+ location,
3291
+ manager,
3292
+ phone_numbers: phoneNumbers,
3293
+ pmi,
3294
+ pronouns,
3295
+ pronouns_option: pronounsOption,
3296
+ timezone,
3297
+ type: userType,
3298
+ use_pmi: usePMI,
3299
+ vanity_name: vanityName,
3300
+ display_name: displayName,
3301
+ zoom_one_type: zoomOneTypeUpdate,
3302
+ plan_united_type: planUnitedTypeUpdate,
3303
+ feature: { zoom_phone: zoomPhone },
3304
+ about_me: aboutMe,
3305
+ linkedin_url: linkedinUrl
3306
+ }, { params: {
3307
+ login_type: loginType,
3308
+ remove_tsp_credentials: removeTspCredentials
3309
+ } });
3310
+ return { data };
3311
+ },
3312
+ inputs: {
3313
+ connection,
3314
+ loginType,
3315
+ removeTspCredentials,
3316
+ userId,
3317
+ cmsUserId,
3318
+ company,
3319
+ customAttributes,
3320
+ dept: department,
3321
+ firstName: {
3322
+ ...firstName,
3323
+ required: false
3324
+ },
3325
+ groupId,
3326
+ hostKey,
3327
+ jobTitle,
3328
+ language: userLanguage,
3329
+ lastName: {
3330
+ ...lastName,
3331
+ required: false
3332
+ },
3333
+ location,
3334
+ manager,
3335
+ phoneNumbers,
3336
+ pmi: personalMeetingId,
3337
+ pronouns,
3338
+ pronounsOption,
3339
+ timezone,
3340
+ userType: {
3341
+ ...userType,
3342
+ comments: "The type of user.",
3343
+ required: false
3344
+ },
3345
+ usePMI,
3346
+ vanityName,
3347
+ displayName,
3348
+ zoomOneTypeUpdate,
3349
+ planUnitedTypeUpdate,
3350
+ zoomPhone,
3351
+ aboutMe,
3352
+ linkedinUrl
3353
+ },
3354
+ examplePayload: { data: {} }
3355
+ }),
3356
+ getUser: (0, _prismatic_io_spectral.action)({
3357
+ display: {
3358
+ label: "Get User",
3359
+ description: "Get the information and metadata of a user by Id"
3360
+ },
3361
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, loginType, encryptedEmail, searchByUniqueId }) => {
3362
+ const { data } = await createZoomClient({
3363
+ connection,
3364
+ debug
3365
+ }).get(`/users/${userId}`, { params: {
3366
+ login_type: loginType,
3367
+ encrypted_email: encryptedEmail,
3368
+ search_by_unique_id: searchByUniqueId
3369
+ } });
3370
+ return { data };
3371
+ },
3372
+ inputs: {
3373
+ connection,
3374
+ userId,
3375
+ loginType,
3376
+ encryptedEmail,
3377
+ searchByUniqueId
3378
+ },
3379
+ examplePayload: getUserExamplePayload
3380
+ }),
3381
+ deleteUser: (0, _prismatic_io_spectral.action)({
3382
+ display: {
3383
+ label: "Delete User",
3384
+ description: "Disassociate (unlink) a user or permanently delete a user by ID."
3385
+ },
3386
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, encryptedEmail, action, transferEmail, transferMeeting, transferWebinar, transferRecording, transferWhiteboard }) => {
3387
+ const { data } = await createZoomClient({
3388
+ connection,
3389
+ debug
3390
+ }).delete(`/users/${userId}`, { params: {
3391
+ encrypted_email: encryptedEmail,
3392
+ action,
3393
+ transfer_email: transferEmail,
3394
+ transfer_meeting: transferMeeting,
3395
+ transfer_webinar: transferWebinar,
3396
+ transfer_recording: transferRecording,
3397
+ transfer_whiteboard: transferWhiteboard
3398
+ } });
3399
+ return { data };
3400
+ },
3401
+ inputs: {
3402
+ connection,
3403
+ userId,
3404
+ encryptedEmail,
3405
+ action: action$22,
3406
+ transferEmail,
3407
+ transferMeeting,
3408
+ transferWebinar,
3409
+ transferRecording,
3410
+ transferWhiteboard
3411
+ },
3412
+ examplePayload: { data: {} }
3413
+ }),
3414
+ listUsersChatMessages: (0, _prismatic_io_spectral.action)({
3415
+ display: {
3416
+ label: "List User's Chat Messages",
3417
+ description: "List all chat messages of a given user"
3418
+ },
3419
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, toContact, toChannel, date, to, from, includeDeletedAndEditedMessage, searchType, searchKey, excludeChildMessage, downloadFileFormats }) => {
3420
+ return { data: await getAllPaginationResults(createZoomClient({
3421
+ connection,
3422
+ debug
3423
+ }), `/chat/users/${userId}/messages`, "messages", {
3424
+ to_contact: toContact,
3425
+ to_channel: toChannel,
3426
+ date,
3427
+ from,
3428
+ to,
3429
+ include_deleted_and_edited_message: includeDeletedAndEditedMessage,
3430
+ search_type: searchType,
3431
+ search_key: searchKey,
3432
+ exclude_child_message: excludeChildMessage,
3433
+ download_file_formats: downloadFileFormats
3434
+ }) };
3435
+ },
3436
+ inputs: {
3437
+ connection,
3438
+ userId,
3439
+ toContact,
3440
+ toChannel,
3441
+ date,
3442
+ from: {
3443
+ ...from,
3444
+ comments: "The query start date in yyyy-MM-dd'T'HH:mm:ss'Z' format. If you provide both the 'Date' and 'from' inputs, the API uses the 'Date' input value to query.",
3445
+ example: "2021-01-01T00:00:00Z"
3446
+ },
3447
+ to: {
3448
+ ...to,
3449
+ comments: "The query end date in yyyy-MM-dd'T'HH:mm:ss'Z' format. This value defaults to the current date.",
3450
+ example: "2021-01-01T00:00:00Z"
3451
+ },
3452
+ includeDeletedAndEditedMessage,
3453
+ searchType,
3454
+ searchKey,
3455
+ excludeChildMessage,
3456
+ downloadFileFormats
3457
+ },
3458
+ examplePayload: listChatMessagesExamplePayload
3459
+ }),
3460
+ listUsersChannels: (0, _prismatic_io_spectral.action)({
3461
+ display: {
3462
+ label: "List User's Channels",
3463
+ description: "List all channels of a given user"
3464
+ },
3465
+ perform: async ({ debug: { enabled: debug } }, { connection, userId }) => {
3466
+ return { data: await getAllPaginationResults(createZoomClient({
3467
+ connection,
3468
+ debug
3469
+ }), `/chat/users/${userId}/channels`, "channels") };
3470
+ },
3471
+ inputs: {
3472
+ connection,
3473
+ userId
3474
+ },
3475
+ examplePayload: listUserChannelsExamplePayload
3476
+ })
3477
+ };
3478
+ //#endregion
3479
+ //#region src/actions/webinars/index.ts
3480
+ var webinars_default = {
3481
+ addWebinarRegistrant: (0, _prismatic_io_spectral.action)({
3482
+ display: {
3483
+ label: "Add Webinar Registrant",
3484
+ description: "Add a new registrant of an existing webinar"
3485
+ },
3486
+ perform: async ({ debug: { enabled: debug } }, { connection, firstName, lastName, email, address, city, state, zip, country, phone, comments, customQuestions, industry, jobTitle, numberOfEmployees, org, purchasingTimeFrame, roleInPurchaseProcess, language, sourceId, ocurrenceIds }) => {
3487
+ const { data } = await createZoomClient({
3488
+ connection,
3489
+ debug
3490
+ }).post(`/webinars/${webinarId}/registrants`, {
3491
+ first_name: firstName,
3492
+ last_name: lastName,
3493
+ email,
3494
+ address,
3495
+ city,
3496
+ state,
3497
+ zip,
3498
+ country,
3499
+ phone,
3500
+ comments,
3501
+ custom_questions: customQuestions,
3502
+ industry,
3503
+ job_title: jobTitle,
3504
+ no_of_employees: numberOfEmployees,
3505
+ org,
3506
+ purchasing_time_frame: purchasingTimeFrame,
3507
+ role_in_purchase_process: roleInPurchaseProcess,
3508
+ language,
3509
+ source_id: sourceId
3510
+ }, { params: { occurrence_ids: ocurrenceIds } });
3511
+ return { data };
3512
+ },
3513
+ inputs: {
3514
+ connection,
3515
+ firstName,
3516
+ lastName,
3517
+ email,
3518
+ address,
3519
+ city,
3520
+ state,
3521
+ zip,
3522
+ country,
3523
+ phone,
3524
+ comments,
3525
+ customQuestions,
3526
+ industry,
3527
+ jobTitle,
3528
+ numberOfEmployees,
3529
+ org,
3530
+ purchasingTimeFrame,
3531
+ roleInPurchaseProcess,
3532
+ language,
3533
+ sourceId,
3534
+ ocurrenceIds
3535
+ },
3536
+ examplePayload: addWebinarRegistrantExamplePayload
3537
+ }),
3538
+ getWebinar: (0, _prismatic_io_spectral.action)({
3539
+ display: {
3540
+ label: "Get Webinar",
3541
+ description: "Get the information and metadata of a webinar by Id"
3542
+ },
3543
+ perform: async ({ debug: { enabled: debug } }, { connection, webinarId, occurrenceIdWebinar, showPreviousOccurrencesWebinar }) => {
3544
+ const { data } = await createZoomClient({
3545
+ connection,
3546
+ debug
3547
+ }).get(`/webinars/${webinarId}`, { params: {
3548
+ occurrence_id: occurrenceIdWebinar,
3549
+ show_previous_occurrences: showPreviousOccurrencesWebinar
3550
+ } });
3551
+ return { data };
3552
+ },
3553
+ inputs: {
3554
+ connection,
3555
+ webinarId,
3556
+ occurrenceIdWebinar,
3557
+ showPreviousOccurrencesWebinar
3558
+ },
3559
+ examplePayload: getWebinarExamplePayload
3560
+ }),
3561
+ listWebinarParticipants: (0, _prismatic_io_spectral.action)({
3562
+ display: {
3563
+ label: "List Webinar Participants",
3564
+ description: "List all participants of a given webinar"
3565
+ },
3566
+ perform: async ({ debug: { enabled: debug } }, { connection, webinarId }) => {
3567
+ return { data: await getAllPaginationResults(createZoomClient({
3568
+ connection,
3569
+ debug
3570
+ }), `/past_webinars/${webinarId}/participants`, "participants") };
3571
+ },
3572
+ inputs: {
3573
+ connection,
3574
+ webinarId
3575
+ },
3576
+ examplePayload: listWebinarParticipantsExamplePayload
3577
+ }),
3578
+ listWebinarRegistrants: (0, _prismatic_io_spectral.action)({
3579
+ display: {
3580
+ label: "List Webinar Registrants",
3581
+ description: "List all registrants of a given webinar."
3582
+ },
3583
+ perform: async ({ debug: { enabled: debug } }, { connection, webinarId, occurrenceIdWebinarQuery, registrantStatus, trackingSourceId }) => {
3584
+ return { data: await getAllPaginationResults(createZoomClient({
3585
+ connection,
3586
+ debug
3587
+ }), `/webinars/${webinarId}/registrants`, "registrants", {
3588
+ occurrence_id: occurrenceIdWebinarQuery,
3589
+ status: registrantStatus,
3590
+ tracking_source_id: trackingSourceId
3591
+ }) };
3592
+ },
3593
+ inputs: {
3594
+ connection,
3595
+ webinarId,
3596
+ occurrenceIdWebinarQuery,
3597
+ registrantStatus,
3598
+ trackingSourceId
3599
+ },
3600
+ examplePayload: listWebinarRegistrantsExamplePayload
3601
+ }),
3602
+ listWebinars: (0, _prismatic_io_spectral.action)({
3603
+ display: {
3604
+ label: "List Webinars",
3605
+ description: "List all webinars for the given user"
3606
+ },
3607
+ perform: async ({ debug: { enabled: debug } }, { connection, userId, type }) => {
3608
+ return { data: await getAllPaginationResults(createZoomClient({
3609
+ connection,
3610
+ debug
3611
+ }), `/users/${userId}/webinars`, "webinars", { type }) };
3612
+ },
3613
+ inputs: {
3614
+ connection,
3615
+ userId,
3616
+ type: webinarType
3617
+ },
3618
+ examplePayload: listWebinarsExamplePayload
3619
+ })
3620
+ };
3621
+ //#endregion
3622
+ //#region src/actions/index.ts
3623
+ var actions_default = {
3624
+ ...meetings_default,
3625
+ ...misc_default,
3626
+ ...recordings_default,
3627
+ ...users_default,
3628
+ ...webinars_default
3629
+ };
3630
+ //#endregion
3631
+ //#region src/triggers.ts
3632
+ const webhookReceiver = (0, _prismatic_io_spectral.trigger)({
3633
+ display: {
3634
+ label: "Webhook",
3635
+ description: "Receive and validate webhook requests from Zoom for webhooks you configure."
3636
+ },
3637
+ allowsBranching: true,
3638
+ staticBranchNames: ["Notification", "URL Verify"],
3639
+ perform: async (context, payload, params) => {
3640
+ if (context.isSimulatedTestExecution) return Promise.resolve({
3641
+ payload,
3642
+ branch: "Notification",
3643
+ response: {
3644
+ contentType: "text/plain; charset=utf-8",
3645
+ statusCode: 200
3646
+ }
3647
+ });
3648
+ const ENDPOINT_VALIDATION_EVENT = "endpoint.url_validation";
3649
+ const { body, headers } = payload;
3650
+ const webhookSecretToken = _prismatic_io_spectral.util.types.toString(params.webhookSecretToken);
3651
+ const zoomRequestBody = _prismatic_io_spectral.util.types.toObject(body.data);
3652
+ const { "x-zm-signature": zoomSignature, "x-zm-request-timestamp": zoomRequestTimestamp } = _prismatic_io_spectral.util.types.lowerCaseHeaders(headers);
3653
+ if (`v0=${computeZoomVerifyHash(webhookSecretToken, `v0:${zoomRequestTimestamp}:${JSON.stringify(zoomRequestBody)}`)}` !== zoomSignature) throw new Error("Zoom signature doesn't match computed signature, request does not come from Zoom or invalid signature.");
3654
+ if (zoomRequestBody.event === ENDPOINT_VALIDATION_EVENT) {
3655
+ const plainToken = zoomRequestBody.payload.plainToken;
3656
+ const validationHash = computeZoomVerifyHash(webhookSecretToken, plainToken);
3657
+ return Promise.resolve({
3658
+ payload,
3659
+ branch: "URL Verify",
3660
+ response: {
3661
+ statusCode: 200,
3662
+ contentType: "application/json",
3663
+ body: JSON.stringify({
3664
+ plainToken,
3665
+ encryptedToken: validationHash
3666
+ })
3667
+ }
3668
+ });
3669
+ }
3670
+ return Promise.resolve({
3671
+ payload,
3672
+ branch: "Notification",
3673
+ response: {
3674
+ contentType: "text/plain; charset=utf-8",
3675
+ statusCode: 200
3676
+ }
3677
+ });
3678
+ },
3679
+ inputs: { webhookSecretToken },
3680
+ synchronousResponseSupport: "invalid",
3681
+ scheduleSupport: "invalid"
3682
+ });
3683
+ //#endregion
3684
+ //#region src/dataSources/index.ts
3685
+ var dataSources_default = {
3686
+ selectUser: (0, _prismatic_io_spectral.dataSource)({
3687
+ display: {
3688
+ label: "Select User",
3689
+ description: "A Picklist of Zoom users."
3690
+ },
3691
+ dataSourceType: "picklist",
3692
+ inputs: { connection },
3693
+ perform: async (_context, { connection }) => {
3694
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), "/users", "users")).users.map(({ id, display_name }) => {
3695
+ return {
3696
+ label: display_name,
3697
+ key: id
3698
+ };
3699
+ }) };
3700
+ }
3701
+ }),
3702
+ selectMeeting: (0, _prismatic_io_spectral.dataSource)({
3703
+ display: {
3704
+ label: "Select Meeting",
3705
+ description: "A Picklist of Zoom meetings."
3706
+ },
3707
+ dataSourceType: "picklist",
3708
+ inputs: selectMeetingInputs,
3709
+ perform: async (_context, { connection, userId }) => {
3710
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/users/${userId}/meetings`, "meetings")).meetings.map(({ id, topic }) => {
3711
+ return {
3712
+ label: topic,
3713
+ key: id.toString()
3714
+ };
3715
+ }) };
3716
+ }
3717
+ }),
3718
+ selectMeetingRegistrant: (0, _prismatic_io_spectral.dataSource)({
3719
+ display: {
3720
+ label: "Select Meeting Registrant",
3721
+ description: "A Picklist of registrants for a Zoom meeting."
3722
+ },
3723
+ dataSourceType: "picklist",
3724
+ inputs: selectMeetingRegistrantInputs,
3725
+ perform: async (_context, { connection, meetingId }) => {
3726
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/meetings/${meetingId}/registrants`, "registrants")).registrants.map(({ id, email, first_name, last_name }) => {
3727
+ return {
3728
+ label: `${first_name} ${last_name}`.trim() || email,
3729
+ key: id
3730
+ };
3731
+ }) };
3732
+ }
3733
+ }),
3734
+ selectMeetingRecording: (0, _prismatic_io_spectral.dataSource)({
3735
+ display: {
3736
+ label: "Select Meeting Recording",
3737
+ description: "A Picklist of recording download URLs for a Zoom meeting."
3738
+ },
3739
+ dataSourceType: "picklist",
3740
+ inputs: selectMeetingRecordingInputs,
3741
+ perform: async (_context, { connection, meetingId, returnId }) => {
3742
+ const { data } = await createZoomClient({ connection }).get(`/meetings/${meetingId}/recordings`);
3743
+ const recordingFiles = data.recording_files || [];
3744
+ const audioFiles = data.participant_audio_files || [];
3745
+ const resultRecordingFiles = recordingFiles.map(({ id, download_url }, index) => {
3746
+ return {
3747
+ label: `Recording File ${index + 1}`,
3748
+ key: returnId ? id : download_url
3749
+ };
3750
+ });
3751
+ const resultAudioFiles = audioFiles.map(({ id, download_url, file_name }) => {
3752
+ return {
3753
+ label: `Audio File: ${file_name}`,
3754
+ key: returnId ? id : download_url
3755
+ };
3756
+ });
3757
+ return { result: [...resultRecordingFiles, ...resultAudioFiles] };
3758
+ }
3759
+ }),
3760
+ selectChatMessage: (0, _prismatic_io_spectral.dataSource)({
3761
+ display: {
3762
+ label: "Select Chat Message",
3763
+ description: "A Picklist of chat messages from a specific user."
3764
+ },
3765
+ dataSourceType: "picklist",
3766
+ inputs: selectChatMessageInputs,
3767
+ perform: async (_context, { connection, userId, toContact, toChannel, date, from, to }) => {
3768
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/chat/users/${userId}/messages`, "messages", {
3769
+ to_contact: toContact,
3770
+ to_channel: toChannel,
3771
+ date,
3772
+ from,
3773
+ to
3774
+ })).messages.map(({ id, message, sender_display_name }) => {
3775
+ return {
3776
+ label: `${sender_display_name} - ${message.length > 50 ? `${message.substring(0, 50)}...` : message}`,
3777
+ key: id
3778
+ };
3779
+ }) };
3780
+ }
3781
+ }),
3782
+ selectUserChannel: (0, _prismatic_io_spectral.dataSource)({
3783
+ display: {
3784
+ label: "Select User Channel",
3785
+ description: "A Picklist of channels for a specific user."
3786
+ },
3787
+ dataSourceType: "picklist",
3788
+ inputs: selectUserChannelInputs,
3789
+ perform: async (_context, { connection, userId }) => {
3790
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/chat/users/${userId}/channels`, "channels")).channels.map(({ id, name }) => {
3791
+ return {
3792
+ label: name,
3793
+ key: id
3794
+ };
3795
+ }) };
3796
+ }
3797
+ }),
3798
+ selectWebinar: (0, _prismatic_io_spectral.dataSource)({
3799
+ display: {
3800
+ label: "Select Webinar",
3801
+ description: "A Picklist of Zoom webinars."
3802
+ },
3803
+ dataSourceType: "picklist",
3804
+ inputs: selectWebinarInputs,
3805
+ perform: async (_context, { connection, userId }) => {
3806
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/users/${userId}/webinars`, "webinars")).webinars.map(({ id, topic }) => {
3807
+ return {
3808
+ label: topic,
3809
+ key: id.toString()
3810
+ };
3811
+ }) };
3812
+ }
3813
+ }),
3814
+ selectWebinarRegistrant: (0, _prismatic_io_spectral.dataSource)({
3815
+ display: {
3816
+ label: "Select Webinar Registrant",
3817
+ description: "A Picklist of registrants for a Zoom webinar."
3818
+ },
3819
+ dataSourceType: "picklist",
3820
+ inputs: selectWebinarRegistrantInputs,
3821
+ perform: async (_context, { connection, webinarId }) => {
3822
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/webinars/${webinarId}/registrants`, "registrants")).registrants.map(({ id, email, first_name, last_name }) => {
3823
+ return {
3824
+ label: `${first_name} ${last_name}`.trim() || email,
3825
+ key: id
3826
+ };
3827
+ }) };
3828
+ }
3829
+ }),
3830
+ selectWebinarParticipant: (0, _prismatic_io_spectral.dataSource)({
3831
+ display: {
3832
+ label: "Select Webinar Participant",
3833
+ description: "A Picklist of participants for a past Zoom webinar."
3834
+ },
3835
+ dataSourceType: "picklist",
3836
+ inputs: selectWebinarParticipantInputs,
3837
+ perform: async (_context, { connection, webinarId }) => {
3838
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/past_webinars/${webinarId}/participants`, "participants")).participants.map(({ id, name, user_email, user_id }) => {
3839
+ return {
3840
+ label: name || user_email || id,
3841
+ key: id || user_id
3842
+ };
3843
+ }) };
3844
+ }
3845
+ }),
3846
+ selectPhoneRecording: (0, _prismatic_io_spectral.dataSource)({
3847
+ display: {
3848
+ label: "Select Phone Recording",
3849
+ description: "A Picklist of phone call recordings download URLs."
3850
+ },
3851
+ dataSourceType: "picklist",
3852
+ inputs: selectPhoneRecordingInputs,
3853
+ perform: async (_context, { connection, userId, returnId }) => {
3854
+ return { result: (await getAllPaginationResults(createZoomClient({ connection }), `/phone/users/${userId}/recordings`, "recordings")).recordings.map(({ id, caller_name, callee_name, download_url }) => {
3855
+ return {
3856
+ label: `Callee: ${callee_name} - Caller: ${caller_name}`,
3857
+ key: returnId ? id : download_url
3858
+ };
3859
+ }) };
3860
+ }
3861
+ })
3862
+ };
3863
+ //#endregion
3864
+ //#region src/index.ts
3865
+ var src_default = (0, _prismatic_io_spectral.component)({
3866
+ key: "zoom",
3867
+ public: true,
3868
+ documentationUrl: "https://prismatic.io/docs/components/zoom/",
3869
+ display: {
3870
+ label: "Zoom",
3871
+ category: "Application Connectors",
3872
+ description: "Manage meetings, recordings, users, and webinars in Zoom.",
3873
+ iconPath: "icon.png"
3874
+ },
3875
+ actions: actions_default,
3876
+ connections: connections_default,
3877
+ dataSources: dataSources_default,
3878
+ triggers: { webhookReceiver },
3879
+ hooks: { error: _prismatic_io_spectral_http.handleErrors }
3880
+ });
3881
+ //#endregion
3882
+ //#region npm-dist/.entry.ts
3883
+ var _entry_default = (0, _prismatic_io_spectral.callableComponent)(src_default);
3884
+ //#endregion
3885
+ module.exports = _entry_default;