@dereekb/zoom 13.37.0 → 13.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/nestjs/package.json +10 -10
- package/package.json +11 -12
- package/index.cjs.default.js +0 -1
- package/index.cjs.js +0 -2209
- package/index.cjs.mjs +0 -2
- package/nestjs/index.cjs.default.js +0 -1
- package/nestjs/index.cjs.js +0 -1948
- package/nestjs/index.cjs.mjs +0 -2
package/nestjs/index.cjs.js
DELETED
|
@@ -1,1948 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var common = require('@nestjs/common');
|
|
4
|
-
var zoom = require('@dereekb/zoom');
|
|
5
|
-
var util = require('@dereekb/util');
|
|
6
|
-
var nestjs = require('@dereekb/nestjs');
|
|
7
|
-
var config = require('@nestjs/config');
|
|
8
|
-
var node_crypto = require('node:crypto');
|
|
9
|
-
|
|
10
|
-
function _type_of$1(obj) {
|
|
11
|
-
"@swc/helpers - typeof";
|
|
12
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
13
|
-
}
|
|
14
|
-
function __decorate(decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if ((typeof Reflect === "undefined" ? "undefined" : _type_of$1(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
}
|
|
20
|
-
function __param(paramIndex, decorator) {
|
|
21
|
-
return function(target, key) {
|
|
22
|
-
decorator(target, key, paramIndex);
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
26
|
-
var e = new Error(message);
|
|
27
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
function _class_call_check$8(instance, Constructor) {
|
|
31
|
-
if (!(instance instanceof Constructor)) {
|
|
32
|
-
throw new TypeError("Cannot call a class as a function");
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function _defineProperties$6(target, props) {
|
|
36
|
-
for(var i = 0; i < props.length; i++){
|
|
37
|
-
var descriptor = props[i];
|
|
38
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
39
|
-
descriptor.configurable = true;
|
|
40
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
41
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function _create_class$6(Constructor, protoProps, staticProps) {
|
|
45
|
-
if (staticProps) _defineProperties$6(Constructor, staticProps);
|
|
46
|
-
return Constructor;
|
|
47
|
-
}
|
|
48
|
-
function _define_property$8(obj, key, value) {
|
|
49
|
-
if (key in obj) {
|
|
50
|
-
Object.defineProperty(obj, key, {
|
|
51
|
-
value: value,
|
|
52
|
-
enumerable: true,
|
|
53
|
-
configurable: true,
|
|
54
|
-
writable: true
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
obj[key] = value;
|
|
58
|
-
}
|
|
59
|
-
return obj;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Configuration for ZoomService
|
|
63
|
-
*/ var ZoomOAuthServiceConfig = /*#__PURE__*/ function() {
|
|
64
|
-
function ZoomOAuthServiceConfig() {
|
|
65
|
-
_class_call_check$8(this, ZoomOAuthServiceConfig);
|
|
66
|
-
_define_property$8(this, "zoomOAuth", void 0);
|
|
67
|
-
_define_property$8(this, "factoryConfig", void 0);
|
|
68
|
-
}
|
|
69
|
-
_create_class$6(ZoomOAuthServiceConfig, null, [
|
|
70
|
-
{
|
|
71
|
-
key: "assertValidConfig",
|
|
72
|
-
value: function assertValidConfig(config) {
|
|
73
|
-
var zoomOAuth = config.zoomOAuth;
|
|
74
|
-
if (!zoomOAuth) {
|
|
75
|
-
throw new Error('ZoomOAuthServiceConfig.zoomOAuth is required');
|
|
76
|
-
}
|
|
77
|
-
{
|
|
78
|
-
if (!zoomOAuth.accountId) {
|
|
79
|
-
throw new Error('ZoomOAuthServiceConfig.zoomOAuth.accountId is required');
|
|
80
|
-
} else if (!zoomOAuth.clientSecret) {
|
|
81
|
-
throw new Error('ZoomOAuthServiceConfig.zoomOAuth.clientSecret is required');
|
|
82
|
-
} else if (!zoomOAuth.clientId) {
|
|
83
|
-
throw new Error('ZoomOAuthServiceConfig.zoomOAuth.clientId is required');
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
]);
|
|
89
|
-
return ZoomOAuthServiceConfig;
|
|
90
|
-
}();
|
|
91
|
-
/**
|
|
92
|
-
* Reads a ZoomOAuthServiceConfig from the NestJS ConfigService using environment variables.
|
|
93
|
-
*
|
|
94
|
-
* @param configService - The NestJS ConfigService to read from.
|
|
95
|
-
* @param prefix - Optional prefix for environment variable names.
|
|
96
|
-
* @returns A validated ZoomOAuthServiceConfig.
|
|
97
|
-
*/ function readZoomOAuthServiceConfigFromConfigService(configService, prefix) {
|
|
98
|
-
var prefixString = util.characterPrefixSuffixInstance({
|
|
99
|
-
suffix: '_',
|
|
100
|
-
suffixEmptyString: false
|
|
101
|
-
}).prefixSuffixString(prefix !== null && prefix !== void 0 ? prefix : '');
|
|
102
|
-
var accountIdKey = "".concat(prefixString, "ZOOM_ACCOUNT_ID");
|
|
103
|
-
var clientIdKey = "".concat(prefixString, "ZOOM_CLIENT_ID");
|
|
104
|
-
var clientSecretKey = "".concat(prefixString, "ZOOM_CLIENT_SECRET");
|
|
105
|
-
var accountId = configService.getOrThrow(accountIdKey);
|
|
106
|
-
var clientId = configService.getOrThrow(clientIdKey);
|
|
107
|
-
var clientSecret = configService.getOrThrow(clientSecretKey);
|
|
108
|
-
var config = {
|
|
109
|
-
zoomOAuth: {
|
|
110
|
-
accountId: accountId,
|
|
111
|
-
clientId: clientId,
|
|
112
|
-
clientSecret: clientSecret
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
ZoomOAuthServiceConfig.assertValidConfig(config);
|
|
116
|
-
return config;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function _array_like_to_array$2(arr, len) {
|
|
120
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
121
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
122
|
-
return arr2;
|
|
123
|
-
}
|
|
124
|
-
function _array_with_holes(arr) {
|
|
125
|
-
if (Array.isArray(arr)) return arr;
|
|
126
|
-
}
|
|
127
|
-
function _array_without_holes$2(arr) {
|
|
128
|
-
if (Array.isArray(arr)) return _array_like_to_array$2(arr);
|
|
129
|
-
}
|
|
130
|
-
function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
131
|
-
try {
|
|
132
|
-
var info = gen[key](arg);
|
|
133
|
-
var value = info.value;
|
|
134
|
-
} catch (error) {
|
|
135
|
-
reject(error);
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
if (info.done) {
|
|
139
|
-
resolve(value);
|
|
140
|
-
} else {
|
|
141
|
-
Promise.resolve(value).then(_next, _throw);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
function _async_to_generator$2(fn) {
|
|
145
|
-
return function() {
|
|
146
|
-
var self = this, args = arguments;
|
|
147
|
-
return new Promise(function(resolve, reject) {
|
|
148
|
-
var gen = fn.apply(self, args);
|
|
149
|
-
function _next(value) {
|
|
150
|
-
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
|
|
151
|
-
}
|
|
152
|
-
function _throw(err) {
|
|
153
|
-
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
|
|
154
|
-
}
|
|
155
|
-
_next(undefined);
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
function _class_call_check$7(instance, Constructor) {
|
|
160
|
-
if (!(instance instanceof Constructor)) {
|
|
161
|
-
throw new TypeError("Cannot call a class as a function");
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
function _define_property$7(obj, key, value) {
|
|
165
|
-
if (key in obj) {
|
|
166
|
-
Object.defineProperty(obj, key, {
|
|
167
|
-
value: value,
|
|
168
|
-
enumerable: true,
|
|
169
|
-
configurable: true,
|
|
170
|
-
writable: true
|
|
171
|
-
});
|
|
172
|
-
} else {
|
|
173
|
-
obj[key] = value;
|
|
174
|
-
}
|
|
175
|
-
return obj;
|
|
176
|
-
}
|
|
177
|
-
function _instanceof(left, right) {
|
|
178
|
-
"@swc/helpers - instanceof";
|
|
179
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
180
|
-
return !!right[Symbol.hasInstance](left);
|
|
181
|
-
} else {
|
|
182
|
-
return left instanceof right;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
function _iterable_to_array$2(iter) {
|
|
186
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
187
|
-
}
|
|
188
|
-
function _iterable_to_array_limit(arr, i) {
|
|
189
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
190
|
-
if (_i == null) return;
|
|
191
|
-
var _arr = [];
|
|
192
|
-
var _n = true;
|
|
193
|
-
var _d = false;
|
|
194
|
-
var _s, _e;
|
|
195
|
-
try {
|
|
196
|
-
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
197
|
-
_arr.push(_s.value);
|
|
198
|
-
if (i && _arr.length === i) break;
|
|
199
|
-
}
|
|
200
|
-
} catch (err) {
|
|
201
|
-
_d = true;
|
|
202
|
-
_e = err;
|
|
203
|
-
} finally{
|
|
204
|
-
try {
|
|
205
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
206
|
-
} finally{
|
|
207
|
-
if (_d) throw _e;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
return _arr;
|
|
211
|
-
}
|
|
212
|
-
function _non_iterable_rest() {
|
|
213
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
214
|
-
}
|
|
215
|
-
function _non_iterable_spread$2() {
|
|
216
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
217
|
-
}
|
|
218
|
-
function _object_spread$2(target) {
|
|
219
|
-
for(var i = 1; i < arguments.length; i++){
|
|
220
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
221
|
-
var ownKeys = Object.keys(source);
|
|
222
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
223
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
224
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
225
|
-
}));
|
|
226
|
-
}
|
|
227
|
-
ownKeys.forEach(function(key) {
|
|
228
|
-
_define_property$7(target, key, source[key]);
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
return target;
|
|
232
|
-
}
|
|
233
|
-
function ownKeys$2(object, enumerableOnly) {
|
|
234
|
-
var keys = Object.keys(object);
|
|
235
|
-
if (Object.getOwnPropertySymbols) {
|
|
236
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
237
|
-
keys.push.apply(keys, symbols);
|
|
238
|
-
}
|
|
239
|
-
return keys;
|
|
240
|
-
}
|
|
241
|
-
function _object_spread_props$2(target, source) {
|
|
242
|
-
source = source != null ? source : {};
|
|
243
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
244
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
245
|
-
} else {
|
|
246
|
-
ownKeys$2(Object(source)).forEach(function(key) {
|
|
247
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
return target;
|
|
251
|
-
}
|
|
252
|
-
function _sliced_to_array(arr, i) {
|
|
253
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array$2(arr, i) || _non_iterable_rest();
|
|
254
|
-
}
|
|
255
|
-
function _to_consumable_array$2(arr) {
|
|
256
|
-
return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$2(arr) || _non_iterable_spread$2();
|
|
257
|
-
}
|
|
258
|
-
function _type_of(obj) {
|
|
259
|
-
"@swc/helpers - typeof";
|
|
260
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
261
|
-
}
|
|
262
|
-
function _unsupported_iterable_to_array$2(o, minLen) {
|
|
263
|
-
if (!o) return;
|
|
264
|
-
if (typeof o === "string") return _array_like_to_array$2(o, minLen);
|
|
265
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
266
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
267
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
268
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
|
|
269
|
-
}
|
|
270
|
-
function _ts_generator$2(thisArg, body) {
|
|
271
|
-
var f, y, t, _ = {
|
|
272
|
-
label: 0,
|
|
273
|
-
sent: function() {
|
|
274
|
-
if (t[0] & 1) throw t[1];
|
|
275
|
-
return t[1];
|
|
276
|
-
},
|
|
277
|
-
trys: [],
|
|
278
|
-
ops: []
|
|
279
|
-
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
|
|
280
|
-
return d(g, "next", {
|
|
281
|
-
value: verb(0)
|
|
282
|
-
}), d(g, "throw", {
|
|
283
|
-
value: verb(1)
|
|
284
|
-
}), d(g, "return", {
|
|
285
|
-
value: verb(2)
|
|
286
|
-
}), typeof Symbol === "function" && d(g, Symbol.iterator, {
|
|
287
|
-
value: function() {
|
|
288
|
-
return this;
|
|
289
|
-
}
|
|
290
|
-
}), g;
|
|
291
|
-
function verb(n) {
|
|
292
|
-
return function(v) {
|
|
293
|
-
return step([
|
|
294
|
-
n,
|
|
295
|
-
v
|
|
296
|
-
]);
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
function step(op) {
|
|
300
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
301
|
-
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
302
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
303
|
-
if (y = 0, t) op = [
|
|
304
|
-
op[0] & 2,
|
|
305
|
-
t.value
|
|
306
|
-
];
|
|
307
|
-
switch(op[0]){
|
|
308
|
-
case 0:
|
|
309
|
-
case 1:
|
|
310
|
-
t = op;
|
|
311
|
-
break;
|
|
312
|
-
case 4:
|
|
313
|
-
_.label++;
|
|
314
|
-
return {
|
|
315
|
-
value: op[1],
|
|
316
|
-
done: false
|
|
317
|
-
};
|
|
318
|
-
case 5:
|
|
319
|
-
_.label++;
|
|
320
|
-
y = op[1];
|
|
321
|
-
op = [
|
|
322
|
-
0
|
|
323
|
-
];
|
|
324
|
-
continue;
|
|
325
|
-
case 7:
|
|
326
|
-
op = _.ops.pop();
|
|
327
|
-
_.trys.pop();
|
|
328
|
-
continue;
|
|
329
|
-
default:
|
|
330
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
331
|
-
_ = 0;
|
|
332
|
-
continue;
|
|
333
|
-
}
|
|
334
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
335
|
-
_.label = op[1];
|
|
336
|
-
break;
|
|
337
|
-
}
|
|
338
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
339
|
-
_.label = t[1];
|
|
340
|
-
t = op;
|
|
341
|
-
break;
|
|
342
|
-
}
|
|
343
|
-
if (t && _.label < t[2]) {
|
|
344
|
-
_.label = t[2];
|
|
345
|
-
_.ops.push(op);
|
|
346
|
-
break;
|
|
347
|
-
}
|
|
348
|
-
if (t[2]) _.ops.pop();
|
|
349
|
-
_.trys.pop();
|
|
350
|
-
continue;
|
|
351
|
-
}
|
|
352
|
-
op = body.call(thisArg, _);
|
|
353
|
-
} catch (e) {
|
|
354
|
-
op = [
|
|
355
|
-
6,
|
|
356
|
-
e
|
|
357
|
-
];
|
|
358
|
-
y = 0;
|
|
359
|
-
} finally{
|
|
360
|
-
f = t = 0;
|
|
361
|
-
}
|
|
362
|
-
if (op[0] & 5) throw op[1];
|
|
363
|
-
return {
|
|
364
|
-
value: op[0] ? op[1] : void 0,
|
|
365
|
-
done: true
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Service used for retrieving ZoomAccessTokenCache for Zoom services.
|
|
371
|
-
*/ exports.ZoomOAuthAccessTokenCacheService = function ZoomOAuthAccessTokenCacheService() {
|
|
372
|
-
_class_call_check$7(this, ZoomOAuthAccessTokenCacheService);
|
|
373
|
-
};
|
|
374
|
-
exports.ZoomOAuthAccessTokenCacheService = __decorate([
|
|
375
|
-
common.Injectable()
|
|
376
|
-
], exports.ZoomOAuthAccessTokenCacheService);
|
|
377
|
-
// MARK: Merge
|
|
378
|
-
function buildZoomReadAdapter(cache) {
|
|
379
|
-
return {
|
|
380
|
-
load: function load() {
|
|
381
|
-
return _async_to_generator$2(function() {
|
|
382
|
-
var value;
|
|
383
|
-
return _ts_generator$2(this, function(_state) {
|
|
384
|
-
switch(_state.label){
|
|
385
|
-
case 0:
|
|
386
|
-
return [
|
|
387
|
-
4,
|
|
388
|
-
cache.loadCachedToken().catch(function() {
|
|
389
|
-
return undefined;
|
|
390
|
-
})
|
|
391
|
-
];
|
|
392
|
-
case 1:
|
|
393
|
-
value = _state.sent();
|
|
394
|
-
return [
|
|
395
|
-
2,
|
|
396
|
-
value != null && !util.isExpired(value) ? value : undefined
|
|
397
|
-
];
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
})();
|
|
401
|
-
},
|
|
402
|
-
update: function update(token) {
|
|
403
|
-
return cache.updateCachedToken(token);
|
|
404
|
-
},
|
|
405
|
-
clear: function clear() {
|
|
406
|
-
return _async_to_generator$2(function() {
|
|
407
|
-
return _ts_generator$2(this, function(_state) {
|
|
408
|
-
return [
|
|
409
|
-
2
|
|
410
|
-
];
|
|
411
|
-
});
|
|
412
|
-
// ZoomAccessTokenCache does not expose a clear method.
|
|
413
|
-
})();
|
|
414
|
-
}
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
function updateZoomCacheCapturingError(cache, accessToken) {
|
|
418
|
-
return cache.updateCachedToken(accessToken).then(function() {
|
|
419
|
-
return null;
|
|
420
|
-
}).catch(function(e) {
|
|
421
|
-
return [
|
|
422
|
-
cache,
|
|
423
|
-
e
|
|
424
|
-
];
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Default error logging function for merged cache service update failures.
|
|
429
|
-
*
|
|
430
|
-
* @param failedUpdates - Array of failed cache update results with their errors.
|
|
431
|
-
*/ function logMergeZoomOAuthAccessTokenCacheServiceErrorFunction(failedUpdates) {
|
|
432
|
-
console.warn("mergeZoomOAuthAccessTokenCacheServices(): failed updating ".concat(failedUpdates.length, " caches."));
|
|
433
|
-
failedUpdates.forEach(function(param, i) {
|
|
434
|
-
var _param = _sliced_to_array(param, 2); _param[0]; var e = _param[1];
|
|
435
|
-
console.warn("Cache update failure ".concat(i + 1, ": - ").concat(e));
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
/**
|
|
439
|
-
* Merges the input services in order to use some as a backup source.
|
|
440
|
-
*
|
|
441
|
-
* If once source fails retrieval, the next will be tried.
|
|
442
|
-
*
|
|
443
|
-
* When updating a cached token, it will update the token across all services.
|
|
444
|
-
*
|
|
445
|
-
* Read fall-through is delegated to {@link mergeAsyncValueCaches} after wrapping each
|
|
446
|
-
* underlying cache with an {@link isExpired}-aware filter, so an expired cached token
|
|
447
|
-
* never short-circuits the lookup. Updates run across all services in parallel via
|
|
448
|
-
* `Promise.allSettled`, mirroring the previous behavior, with optional error logging.
|
|
449
|
-
*
|
|
450
|
-
* @param inputServicesToMerge - Must include at least one service. Empty arrays will throw an error.
|
|
451
|
-
* @param logError - Optional error logging configuration. Pass a function, true for default logging, or false to disable.
|
|
452
|
-
* @returns A merged ZoomOAuthAccessTokenCacheService.
|
|
453
|
-
* @throws {Error} When `inputServicesToMerge` is empty.
|
|
454
|
-
*/ function mergeZoomOAuthAccessTokenCacheServices(inputServicesToMerge, logError) {
|
|
455
|
-
var allServices = _to_consumable_array$2(inputServicesToMerge);
|
|
456
|
-
var logErrorFunction = typeof logError === 'function' ? logError : logError === false ? undefined : logMergeZoomOAuthAccessTokenCacheServiceErrorFunction;
|
|
457
|
-
if (allServices.length === 0) {
|
|
458
|
-
throw new Error('mergeZoomOAuthAccessTokenCacheServices() input cannot be empty.');
|
|
459
|
-
}
|
|
460
|
-
function mergeCachesForService(accessCachesForServices) {
|
|
461
|
-
// Per-cache adapters with expiry filtering so reads fall through to the next tier when a cache holds an expired token.
|
|
462
|
-
var readAdapters = accessCachesForServices.map(buildZoomReadAdapter);
|
|
463
|
-
var merged = util.mergeAsyncValueCaches(readAdapters);
|
|
464
|
-
return {
|
|
465
|
-
loadCachedToken: function loadCachedToken() {
|
|
466
|
-
return merged.load();
|
|
467
|
-
},
|
|
468
|
-
updateCachedToken: function updateCachedToken(accessToken) {
|
|
469
|
-
return _async_to_generator$2(function() {
|
|
470
|
-
var settled, failedUpdates;
|
|
471
|
-
return _ts_generator$2(this, function(_state) {
|
|
472
|
-
switch(_state.label){
|
|
473
|
-
case 0:
|
|
474
|
-
return [
|
|
475
|
-
4,
|
|
476
|
-
Promise.allSettled(accessCachesForServices.map(function(cache) {
|
|
477
|
-
return updateZoomCacheCapturingError(cache, accessToken);
|
|
478
|
-
}))
|
|
479
|
-
];
|
|
480
|
-
case 1:
|
|
481
|
-
settled = _state.sent();
|
|
482
|
-
if (logErrorFunction != null) {
|
|
483
|
-
failedUpdates = util.filterMaybeArrayValues(settled.map(function(y) {
|
|
484
|
-
return y.value;
|
|
485
|
-
}));
|
|
486
|
-
if (failedUpdates.length) {
|
|
487
|
-
logErrorFunction(failedUpdates);
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
return [
|
|
491
|
-
2
|
|
492
|
-
];
|
|
493
|
-
}
|
|
494
|
-
});
|
|
495
|
-
})();
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
}
|
|
499
|
-
var allServiceAccessTokenCaches = allServices.map(function(service) {
|
|
500
|
-
return service.loadZoomAccessTokenCache();
|
|
501
|
-
});
|
|
502
|
-
var allServicesWithCacheForRefreshToken = allServices.filter(function(service) {
|
|
503
|
-
return service.cacheForRefreshToken != null;
|
|
504
|
-
});
|
|
505
|
-
var cacheForRefreshToken = allServicesWithCacheForRefreshToken.length > 0 ? function(refreshToken) {
|
|
506
|
-
var allCaches = allServicesWithCacheForRefreshToken.map(function(x) {
|
|
507
|
-
return x.cacheForRefreshToken(refreshToken);
|
|
508
|
-
});
|
|
509
|
-
return mergeCachesForService(allCaches);
|
|
510
|
-
} : undefined;
|
|
511
|
-
var service = {
|
|
512
|
-
loadZoomAccessTokenCache: function loadZoomAccessTokenCache() {
|
|
513
|
-
return mergeCachesForService(allServiceAccessTokenCaches);
|
|
514
|
-
},
|
|
515
|
-
cacheForRefreshToken: cacheForRefreshToken
|
|
516
|
-
};
|
|
517
|
-
return service;
|
|
518
|
-
}
|
|
519
|
-
// MARK: Memory Access Token Cache
|
|
520
|
-
/**
|
|
521
|
-
* Creates a ZoomOAuthAccessTokenCacheService that uses in-memory storage.
|
|
522
|
-
*
|
|
523
|
-
* Backed by {@link inMemoryAsyncValueCache} so all consumers share the same single token slot.
|
|
524
|
-
*
|
|
525
|
-
* @param existingToken - Optional initial token to seed the cache with.
|
|
526
|
-
* @param logAccessToConsole - Whether to log token access to console.
|
|
527
|
-
* @returns A memory-backed ZoomOAuthAccessTokenCacheService.
|
|
528
|
-
*/ function memoryZoomOAuthAccessTokenCacheService(existingToken, logAccessToConsole) {
|
|
529
|
-
var cache = util.inMemoryAsyncValueCache(existingToken);
|
|
530
|
-
function loadZoomAccessTokenCache() {
|
|
531
|
-
return {
|
|
532
|
-
loadCachedToken: function loadCachedToken() {
|
|
533
|
-
return _async_to_generator$2(function() {
|
|
534
|
-
var token;
|
|
535
|
-
return _ts_generator$2(this, function(_state) {
|
|
536
|
-
switch(_state.label){
|
|
537
|
-
case 0:
|
|
538
|
-
return [
|
|
539
|
-
4,
|
|
540
|
-
cache.load()
|
|
541
|
-
];
|
|
542
|
-
case 1:
|
|
543
|
-
token = _state.sent();
|
|
544
|
-
if (logAccessToConsole) {
|
|
545
|
-
console.log('retrieving access token from memory: ', {
|
|
546
|
-
hit: token != null,
|
|
547
|
-
expiresAt: token === null || token === void 0 ? void 0 : token.expiresAt
|
|
548
|
-
});
|
|
549
|
-
}
|
|
550
|
-
return [
|
|
551
|
-
2,
|
|
552
|
-
token
|
|
553
|
-
];
|
|
554
|
-
}
|
|
555
|
-
});
|
|
556
|
-
})();
|
|
557
|
-
},
|
|
558
|
-
updateCachedToken: function updateCachedToken(accessToken) {
|
|
559
|
-
return _async_to_generator$2(function() {
|
|
560
|
-
return _ts_generator$2(this, function(_state) {
|
|
561
|
-
switch(_state.label){
|
|
562
|
-
case 0:
|
|
563
|
-
return [
|
|
564
|
-
4,
|
|
565
|
-
cache.update(accessToken)
|
|
566
|
-
];
|
|
567
|
-
case 1:
|
|
568
|
-
_state.sent();
|
|
569
|
-
if (logAccessToConsole) {
|
|
570
|
-
console.log('updating access token in memory: ', {
|
|
571
|
-
expiresAt: accessToken === null || accessToken === void 0 ? void 0 : accessToken.expiresAt
|
|
572
|
-
});
|
|
573
|
-
}
|
|
574
|
-
return [
|
|
575
|
-
2
|
|
576
|
-
];
|
|
577
|
-
}
|
|
578
|
-
});
|
|
579
|
-
})();
|
|
580
|
-
}
|
|
581
|
-
};
|
|
582
|
-
}
|
|
583
|
-
return {
|
|
584
|
-
loadZoomAccessTokenCache: loadZoomAccessTokenCache,
|
|
585
|
-
cacheForRefreshToken: function cacheForRefreshToken() {
|
|
586
|
-
return loadZoomAccessTokenCache();
|
|
587
|
-
}
|
|
588
|
-
};
|
|
589
|
-
}
|
|
590
|
-
// MARK: File System Access Token Cache
|
|
591
|
-
var DEFAULT_FILE_ZOOM_ACCOUNTS_ACCESS_TOKEN_CACHE_SERVICE_PATH = '.tmp/zoom-access-tokens.json';
|
|
592
|
-
/**
|
|
593
|
-
* Reviver applied to the cached file payload on load so `expiresAt` is always a `Date`
|
|
594
|
-
* regardless of how it was serialized.
|
|
595
|
-
*
|
|
596
|
-
* @param raw - The raw JSON-parsed file payload.
|
|
597
|
-
* @returns The revived ZoomAccessToken, or undefined when the payload is empty/invalid.
|
|
598
|
-
*/ function reviveZoomAccessTokenFile(raw) {
|
|
599
|
-
var result;
|
|
600
|
-
if (raw == null || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== 'object') {
|
|
601
|
-
result = undefined;
|
|
602
|
-
} else {
|
|
603
|
-
var wrapper = raw;
|
|
604
|
-
var token = wrapper.token;
|
|
605
|
-
if (token == null) {
|
|
606
|
-
result = undefined;
|
|
607
|
-
} else {
|
|
608
|
-
var rawExpiresAt = token.expiresAt;
|
|
609
|
-
var expiresAt = rawExpiresAt != null && !_instanceof(rawExpiresAt, Date) ? new Date(rawExpiresAt) : rawExpiresAt;
|
|
610
|
-
result = _object_spread_props$2(_object_spread$2({}, token), {
|
|
611
|
-
expiresAt: expiresAt
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
return result;
|
|
616
|
-
}
|
|
617
|
-
/**
|
|
618
|
-
* Creates a ZoomOAuthAccessTokenCacheService that reads and writes the access token to the file system.
|
|
619
|
-
*
|
|
620
|
-
* Composes {@link createMemoizedJsonFileAsyncValueCache} (for the on-disk slot, with optional
|
|
621
|
-
* per-process memoization) so reads after the first hit memory.
|
|
622
|
-
*
|
|
623
|
-
* Useful for testing.
|
|
624
|
-
*
|
|
625
|
-
* @param filename - Path to the token cache file.
|
|
626
|
-
* @param useMemoryCache - Whether to also cache tokens in memory for faster access.
|
|
627
|
-
* @returns A file-system-backed ZoomOAuthAccessTokenCacheService.
|
|
628
|
-
*/ function fileZoomOAuthAccessTokenCacheService() {
|
|
629
|
-
var filename = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : DEFAULT_FILE_ZOOM_ACCOUNTS_ACCESS_TOKEN_CACHE_SERVICE_PATH, useMemoryCache = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
|
|
630
|
-
var innerCacheInput = {
|
|
631
|
-
filePath: filename,
|
|
632
|
-
reviver: reviveZoomAccessTokenFile,
|
|
633
|
-
replacer: function replacer(token) {
|
|
634
|
-
return {
|
|
635
|
-
token: token
|
|
636
|
-
};
|
|
637
|
-
}
|
|
638
|
-
};
|
|
639
|
-
var cache = useMemoryCache ? nestjs.createMemoizedJsonFileAsyncValueCache(innerCacheInput) : nestjs.createJsonFileAsyncValueCache(innerCacheInput);
|
|
640
|
-
function loadZoomAccessTokenCache() {
|
|
641
|
-
return {
|
|
642
|
-
loadCachedToken: function loadCachedToken() {
|
|
643
|
-
return cache.load();
|
|
644
|
-
},
|
|
645
|
-
updateCachedToken: function updateCachedToken(accessToken) {
|
|
646
|
-
return _async_to_generator$2(function() {
|
|
647
|
-
var e;
|
|
648
|
-
return _ts_generator$2(this, function(_state) {
|
|
649
|
-
switch(_state.label){
|
|
650
|
-
case 0:
|
|
651
|
-
_state.trys.push([
|
|
652
|
-
0,
|
|
653
|
-
2,
|
|
654
|
-
,
|
|
655
|
-
3
|
|
656
|
-
]);
|
|
657
|
-
return [
|
|
658
|
-
4,
|
|
659
|
-
cache.update(accessToken)
|
|
660
|
-
];
|
|
661
|
-
case 1:
|
|
662
|
-
_state.sent();
|
|
663
|
-
return [
|
|
664
|
-
3,
|
|
665
|
-
3
|
|
666
|
-
];
|
|
667
|
-
case 2:
|
|
668
|
-
e = _state.sent();
|
|
669
|
-
console.error('Failed updating access token in file: ', e);
|
|
670
|
-
return [
|
|
671
|
-
3,
|
|
672
|
-
3
|
|
673
|
-
];
|
|
674
|
-
case 3:
|
|
675
|
-
return [
|
|
676
|
-
2
|
|
677
|
-
];
|
|
678
|
-
}
|
|
679
|
-
});
|
|
680
|
-
})();
|
|
681
|
-
}
|
|
682
|
-
};
|
|
683
|
-
}
|
|
684
|
-
function readTokenFile() {
|
|
685
|
-
return _async_to_generator$2(function() {
|
|
686
|
-
var raw, result, token;
|
|
687
|
-
return _ts_generator$2(this, function(_state) {
|
|
688
|
-
switch(_state.label){
|
|
689
|
-
case 0:
|
|
690
|
-
return [
|
|
691
|
-
4,
|
|
692
|
-
nestjs.readJsonFile(filename)
|
|
693
|
-
];
|
|
694
|
-
case 1:
|
|
695
|
-
raw = _state.sent();
|
|
696
|
-
if (raw == null) {
|
|
697
|
-
result = undefined;
|
|
698
|
-
} else {
|
|
699
|
-
token = reviveZoomAccessTokenFile(raw);
|
|
700
|
-
result = {
|
|
701
|
-
token: token
|
|
702
|
-
};
|
|
703
|
-
}
|
|
704
|
-
return [
|
|
705
|
-
2,
|
|
706
|
-
result
|
|
707
|
-
];
|
|
708
|
-
}
|
|
709
|
-
});
|
|
710
|
-
})();
|
|
711
|
-
}
|
|
712
|
-
// Route the file-mutation helpers through the same `cache` instance used by
|
|
713
|
-
// loadZoomAccessTokenCache so the memoized in-memory layer (when useMemoryCache=true) stays
|
|
714
|
-
// consistent with disk. Direct writeJsonFile / removeFile would otherwise leave the memo
|
|
715
|
-
// holding a stale token that no future read could refresh.
|
|
716
|
-
function writeTokenFile(content) {
|
|
717
|
-
return _async_to_generator$2(function() {
|
|
718
|
-
return _ts_generator$2(this, function(_state) {
|
|
719
|
-
switch(_state.label){
|
|
720
|
-
case 0:
|
|
721
|
-
if (!(content.token == null)) return [
|
|
722
|
-
3,
|
|
723
|
-
2
|
|
724
|
-
];
|
|
725
|
-
return [
|
|
726
|
-
4,
|
|
727
|
-
cache.clear()
|
|
728
|
-
];
|
|
729
|
-
case 1:
|
|
730
|
-
_state.sent();
|
|
731
|
-
return [
|
|
732
|
-
3,
|
|
733
|
-
4
|
|
734
|
-
];
|
|
735
|
-
case 2:
|
|
736
|
-
return [
|
|
737
|
-
4,
|
|
738
|
-
cache.update(content.token)
|
|
739
|
-
];
|
|
740
|
-
case 3:
|
|
741
|
-
_state.sent();
|
|
742
|
-
_state.label = 4;
|
|
743
|
-
case 4:
|
|
744
|
-
return [
|
|
745
|
-
2
|
|
746
|
-
];
|
|
747
|
-
}
|
|
748
|
-
});
|
|
749
|
-
})();
|
|
750
|
-
}
|
|
751
|
-
function deleteTokenFile() {
|
|
752
|
-
return _async_to_generator$2(function() {
|
|
753
|
-
return _ts_generator$2(this, function(_state) {
|
|
754
|
-
switch(_state.label){
|
|
755
|
-
case 0:
|
|
756
|
-
return [
|
|
757
|
-
4,
|
|
758
|
-
cache.clear()
|
|
759
|
-
];
|
|
760
|
-
case 1:
|
|
761
|
-
_state.sent();
|
|
762
|
-
return [
|
|
763
|
-
2
|
|
764
|
-
];
|
|
765
|
-
}
|
|
766
|
-
});
|
|
767
|
-
})();
|
|
768
|
-
}
|
|
769
|
-
return {
|
|
770
|
-
loadZoomAccessTokenCache: loadZoomAccessTokenCache,
|
|
771
|
-
readTokenFile: readTokenFile,
|
|
772
|
-
writeTokenFile: writeTokenFile,
|
|
773
|
-
deleteTokenFile: deleteTokenFile
|
|
774
|
-
};
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
function _class_call_check$6(instance, Constructor) {
|
|
778
|
-
if (!(instance instanceof Constructor)) {
|
|
779
|
-
throw new TypeError("Cannot call a class as a function");
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
function _defineProperties$5(target, props) {
|
|
783
|
-
for(var i = 0; i < props.length; i++){
|
|
784
|
-
var descriptor = props[i];
|
|
785
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
786
|
-
descriptor.configurable = true;
|
|
787
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
788
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
function _create_class$5(Constructor, protoProps, staticProps) {
|
|
792
|
-
if (protoProps) _defineProperties$5(Constructor.prototype, protoProps);
|
|
793
|
-
return Constructor;
|
|
794
|
-
}
|
|
795
|
-
function _define_property$6(obj, key, value) {
|
|
796
|
-
if (key in obj) {
|
|
797
|
-
Object.defineProperty(obj, key, {
|
|
798
|
-
value: value,
|
|
799
|
-
enumerable: true,
|
|
800
|
-
configurable: true,
|
|
801
|
-
writable: true
|
|
802
|
-
});
|
|
803
|
-
} else {
|
|
804
|
-
obj[key] = value;
|
|
805
|
-
}
|
|
806
|
-
return obj;
|
|
807
|
-
}
|
|
808
|
-
exports.ZoomOAuthApi = /*#__PURE__*/ function() {
|
|
809
|
-
function ZoomOAuthApi(config, cacheService) {
|
|
810
|
-
_class_call_check$6(this, ZoomOAuthApi);
|
|
811
|
-
var _config_zoomOAuth_accessTokenCache, _config_factoryConfig;
|
|
812
|
-
_define_property$6(this, "config", void 0);
|
|
813
|
-
_define_property$6(this, "cacheService", void 0);
|
|
814
|
-
_define_property$6(this, "zoomOAuth", void 0);
|
|
815
|
-
this.config = config;
|
|
816
|
-
this.cacheService = cacheService;
|
|
817
|
-
var _config_zoomOAuth = config.zoomOAuth, clientId = _config_zoomOAuth.clientId, clientSecret = _config_zoomOAuth.clientSecret, accountId = _config_zoomOAuth.accountId;
|
|
818
|
-
var accessTokenCache = (_config_zoomOAuth_accessTokenCache = config.zoomOAuth.accessTokenCache) !== null && _config_zoomOAuth_accessTokenCache !== void 0 ? _config_zoomOAuth_accessTokenCache : cacheService.loadZoomAccessTokenCache();
|
|
819
|
-
// the fields the OAuth context needs are named rather than spread: the spread used to come AFTER
|
|
820
|
-
// `accessTokenCache`, so a present-but-undefined key on the service config would overwrite the
|
|
821
|
-
// cache just resolved from the cache service
|
|
822
|
-
this.zoomOAuth = zoom.zoomOAuthFactory((_config_factoryConfig = config.factoryConfig) !== null && _config_factoryConfig !== void 0 ? _config_factoryConfig : {})({
|
|
823
|
-
clientId: clientId,
|
|
824
|
-
clientSecret: clientSecret,
|
|
825
|
-
accountId: accountId,
|
|
826
|
-
accessTokenCache: accessTokenCache
|
|
827
|
-
});
|
|
828
|
-
}
|
|
829
|
-
_create_class$5(ZoomOAuthApi, [
|
|
830
|
-
{
|
|
831
|
-
key: "oauthContext",
|
|
832
|
-
get: function get() {
|
|
833
|
-
return this.zoomOAuth.oauthContext;
|
|
834
|
-
}
|
|
835
|
-
},
|
|
836
|
-
{
|
|
837
|
-
key: "serverAccessToken",
|
|
838
|
-
get: // MARK: Accessors
|
|
839
|
-
function get() {
|
|
840
|
-
return zoom.serverAccessToken(this.oauthContext);
|
|
841
|
-
}
|
|
842
|
-
},
|
|
843
|
-
{
|
|
844
|
-
key: "userAccessToken",
|
|
845
|
-
get: function get() {
|
|
846
|
-
return zoom.userAccessToken(this.oauthContext);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
]);
|
|
850
|
-
return ZoomOAuthApi;
|
|
851
|
-
}();
|
|
852
|
-
exports.ZoomOAuthApi = __decorate([
|
|
853
|
-
common.Injectable(),
|
|
854
|
-
__param(0, common.Inject(ZoomOAuthServiceConfig)),
|
|
855
|
-
__param(1, common.Inject(exports.ZoomOAuthAccessTokenCacheService))
|
|
856
|
-
], exports.ZoomOAuthApi);
|
|
857
|
-
|
|
858
|
-
function _array_like_to_array$1(arr, len) {
|
|
859
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
860
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
861
|
-
return arr2;
|
|
862
|
-
}
|
|
863
|
-
function _array_without_holes$1(arr) {
|
|
864
|
-
if (Array.isArray(arr)) return _array_like_to_array$1(arr);
|
|
865
|
-
}
|
|
866
|
-
function _iterable_to_array$1(iter) {
|
|
867
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
868
|
-
}
|
|
869
|
-
function _non_iterable_spread$1() {
|
|
870
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
871
|
-
}
|
|
872
|
-
function _to_consumable_array$1(arr) {
|
|
873
|
-
return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$1(arr) || _non_iterable_spread$1();
|
|
874
|
-
}
|
|
875
|
-
function _unsupported_iterable_to_array$1(o, minLen) {
|
|
876
|
-
if (!o) return;
|
|
877
|
-
if (typeof o === "string") return _array_like_to_array$1(o, minLen);
|
|
878
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
879
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
880
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
881
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
|
|
882
|
-
}
|
|
883
|
-
/**
|
|
884
|
-
* Default factory function for creating ZoomOAuthServiceConfig from ConfigService.
|
|
885
|
-
*
|
|
886
|
-
* @param configService - The NestJS ConfigService.
|
|
887
|
-
* @returns A validated ZoomOAuthServiceConfig.
|
|
888
|
-
*/ function zoomOAuthServiceConfigFactory(configService) {
|
|
889
|
-
return readZoomOAuthServiceConfigFromConfigService(configService);
|
|
890
|
-
}
|
|
891
|
-
/**
|
|
892
|
-
* Convenience function used to generate ModuleMetadata for an app's ZoomOAuthModule.
|
|
893
|
-
*
|
|
894
|
-
* @param config - The configuration for the module metadata.
|
|
895
|
-
* @returns Module metadata for the Zoom OAuth module.
|
|
896
|
-
*/ function appZoomOAuthModuleMetadata(config$1) {
|
|
897
|
-
var _config_zoomOAuthServiceConfigFactory;
|
|
898
|
-
var dependencyModule = config$1.dependencyModule, imports = config$1.imports, exports$1 = config$1.exports, providers = config$1.providers;
|
|
899
|
-
var dependencyModuleImport = dependencyModule ? [
|
|
900
|
-
dependencyModule
|
|
901
|
-
] : [];
|
|
902
|
-
return {
|
|
903
|
-
imports: [
|
|
904
|
-
config.ConfigModule
|
|
905
|
-
].concat(_to_consumable_array$1(dependencyModuleImport), _to_consumable_array$1(imports !== null && imports !== void 0 ? imports : [])),
|
|
906
|
-
exports: [
|
|
907
|
-
exports.ZoomOAuthApi
|
|
908
|
-
].concat(_to_consumable_array$1(exports$1 !== null && exports$1 !== void 0 ? exports$1 : [])),
|
|
909
|
-
providers: [
|
|
910
|
-
{
|
|
911
|
-
provide: ZoomOAuthServiceConfig,
|
|
912
|
-
inject: [
|
|
913
|
-
config.ConfigService
|
|
914
|
-
],
|
|
915
|
-
useFactory: (_config_zoomOAuthServiceConfigFactory = config$1.zoomOAuthServiceConfigFactory) !== null && _config_zoomOAuthServiceConfigFactory !== void 0 ? _config_zoomOAuthServiceConfigFactory : zoomOAuthServiceConfigFactory
|
|
916
|
-
},
|
|
917
|
-
exports.ZoomOAuthApi
|
|
918
|
-
].concat(_to_consumable_array$1(providers !== null && providers !== void 0 ? providers : []))
|
|
919
|
-
};
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
function _class_call_check$5(instance, Constructor) {
|
|
923
|
-
if (!(instance instanceof Constructor)) {
|
|
924
|
-
throw new TypeError("Cannot call a class as a function");
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
function _defineProperties$4(target, props) {
|
|
928
|
-
for(var i = 0; i < props.length; i++){
|
|
929
|
-
var descriptor = props[i];
|
|
930
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
931
|
-
descriptor.configurable = true;
|
|
932
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
933
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
function _create_class$4(Constructor, protoProps, staticProps) {
|
|
937
|
-
if (staticProps) _defineProperties$4(Constructor, staticProps);
|
|
938
|
-
return Constructor;
|
|
939
|
-
}
|
|
940
|
-
function _define_property$5(obj, key, value) {
|
|
941
|
-
if (key in obj) {
|
|
942
|
-
Object.defineProperty(obj, key, {
|
|
943
|
-
value: value,
|
|
944
|
-
enumerable: true,
|
|
945
|
-
configurable: true,
|
|
946
|
-
writable: true
|
|
947
|
-
});
|
|
948
|
-
} else {
|
|
949
|
-
obj[key] = value;
|
|
950
|
-
}
|
|
951
|
-
return obj;
|
|
952
|
-
}
|
|
953
|
-
var ZOOM_SECRET_TOKEN_ENV_VAR = 'ZOOM_SECRET_TOKEN';
|
|
954
|
-
/**
|
|
955
|
-
* Configuration for ZoomService
|
|
956
|
-
*/ var ZoomWebhookServiceConfig = /*#__PURE__*/ function() {
|
|
957
|
-
function ZoomWebhookServiceConfig() {
|
|
958
|
-
_class_call_check$5(this, ZoomWebhookServiceConfig);
|
|
959
|
-
_define_property$5(this, "webhookConfig", void 0);
|
|
960
|
-
}
|
|
961
|
-
_create_class$4(ZoomWebhookServiceConfig, null, [
|
|
962
|
-
{
|
|
963
|
-
key: "assertValidConfig",
|
|
964
|
-
value: function assertValidConfig(config) {
|
|
965
|
-
if (!config.webhookConfig.zoomSecretToken) {
|
|
966
|
-
throw new Error('No zoom secret token specified.');
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
}
|
|
970
|
-
]);
|
|
971
|
-
return ZoomWebhookServiceConfig;
|
|
972
|
-
}
|
|
973
|
-
();
|
|
974
|
-
|
|
975
|
-
// MARK: Meeting Alert
|
|
976
|
-
var ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE = 'meeting.alert';
|
|
977
|
-
// MARK: Meeting Created
|
|
978
|
-
var ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE = 'meeting.created';
|
|
979
|
-
// MARK: Meeting Updated
|
|
980
|
-
var ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE = 'meeting.updated';
|
|
981
|
-
// MARK: Meeting Deleted
|
|
982
|
-
var ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE = 'meeting.deleted';
|
|
983
|
-
// MARK: Meeting Started
|
|
984
|
-
var ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE = 'meeting.started';
|
|
985
|
-
// MARK: Meeting Ended
|
|
986
|
-
var ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE = 'meeting.ended';
|
|
987
|
-
// MARK: Meeting Permanently Deleted
|
|
988
|
-
var ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE = 'meeting.permanently_deleted';
|
|
989
|
-
|
|
990
|
-
function _define_property$4(obj, key, value) {
|
|
991
|
-
if (key in obj) {
|
|
992
|
-
Object.defineProperty(obj, key, {
|
|
993
|
-
value: value,
|
|
994
|
-
enumerable: true,
|
|
995
|
-
configurable: true,
|
|
996
|
-
writable: true
|
|
997
|
-
});
|
|
998
|
-
} else {
|
|
999
|
-
obj[key] = value;
|
|
1000
|
-
}
|
|
1001
|
-
return obj;
|
|
1002
|
-
}
|
|
1003
|
-
function _object_spread$1(target) {
|
|
1004
|
-
for(var i = 1; i < arguments.length; i++){
|
|
1005
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
1006
|
-
var ownKeys = Object.keys(source);
|
|
1007
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
1008
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
1009
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
1010
|
-
}));
|
|
1011
|
-
}
|
|
1012
|
-
ownKeys.forEach(function(key) {
|
|
1013
|
-
_define_property$4(target, key, source[key]);
|
|
1014
|
-
});
|
|
1015
|
-
}
|
|
1016
|
-
return target;
|
|
1017
|
-
}
|
|
1018
|
-
function ownKeys$1(object, enumerableOnly) {
|
|
1019
|
-
var keys = Object.keys(object);
|
|
1020
|
-
if (Object.getOwnPropertySymbols) {
|
|
1021
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
1022
|
-
keys.push.apply(keys, symbols);
|
|
1023
|
-
}
|
|
1024
|
-
return keys;
|
|
1025
|
-
}
|
|
1026
|
-
function _object_spread_props$1(target, source) {
|
|
1027
|
-
source = source != null ? source : {};
|
|
1028
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
1029
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
1030
|
-
} else {
|
|
1031
|
-
ownKeys$1(Object(source)).forEach(function(key) {
|
|
1032
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
1033
|
-
});
|
|
1034
|
-
}
|
|
1035
|
-
return target;
|
|
1036
|
-
}
|
|
1037
|
-
/**
|
|
1038
|
-
* Creates a ZoomWebhookEvent and treats the data as the input type.
|
|
1039
|
-
*
|
|
1040
|
-
* @param event
|
|
1041
|
-
* @returns
|
|
1042
|
-
*/ function zoomWebhookEvent(event) {
|
|
1043
|
-
return {
|
|
1044
|
-
event: event.event,
|
|
1045
|
-
event_ts: event.event_ts,
|
|
1046
|
-
payload: event.payload
|
|
1047
|
-
};
|
|
1048
|
-
}
|
|
1049
|
-
var zoomEventHandlerFactory = util.handlerFactory(function(x) {
|
|
1050
|
-
return x.event;
|
|
1051
|
-
});
|
|
1052
|
-
var zoomEventHandlerConfigurerFactory = util.handlerConfigurerFactory({
|
|
1053
|
-
configurerForAccessor: function configurerForAccessor(accessor) {
|
|
1054
|
-
var fnWithKey = util.handlerMappedSetFunctionFactory(accessor, zoomWebhookEvent);
|
|
1055
|
-
var configurer = _object_spread_props$1(_object_spread$1({}, accessor), {
|
|
1056
|
-
// Meetings
|
|
1057
|
-
handleMeetingCreated: fnWithKey(ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE),
|
|
1058
|
-
handleMeetingUpdated: fnWithKey(ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE),
|
|
1059
|
-
handleMeetingDeleted: fnWithKey(ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE),
|
|
1060
|
-
handleMeetingStarted: fnWithKey(ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE),
|
|
1061
|
-
handleMeetingEnded: fnWithKey(ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE),
|
|
1062
|
-
handleMeetingPermanentlyDeleted: fnWithKey(ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE)
|
|
1063
|
-
});
|
|
1064
|
-
return configurer;
|
|
1065
|
-
}
|
|
1066
|
-
});
|
|
1067
|
-
|
|
1068
|
-
/**
|
|
1069
|
-
* Verifies a Zoom webhook event header.
|
|
1070
|
-
*
|
|
1071
|
-
* @param zoomSecretToken - The Zoom secret token.
|
|
1072
|
-
* @returns Verifies a Zoom webhook event.
|
|
1073
|
-
*
|
|
1074
|
-
* @see https://developers.zoom.us/docs/api/webhooks/#verify-with-zooms-header
|
|
1075
|
-
*/ function zoomWebhookEventVerifier(zoomSecretToken) {
|
|
1076
|
-
return function(request, _rawBody) {
|
|
1077
|
-
var requestBodyString = String(request.body);
|
|
1078
|
-
var message = "v0:".concat(request.headers['x-zm-request-timestamp'], ":").concat(requestBodyString);
|
|
1079
|
-
var hashForVerify = node_crypto.createHmac('sha256', zoomSecretToken).update(message).digest('hex');
|
|
1080
|
-
var signature = "v0=".concat(hashForVerify);
|
|
1081
|
-
var valid = request.headers['x-zm-signature'] === signature;
|
|
1082
|
-
var result = {
|
|
1083
|
-
valid: valid,
|
|
1084
|
-
event: JSON.parse(requestBodyString)
|
|
1085
|
-
};
|
|
1086
|
-
return result;
|
|
1087
|
-
};
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
var ZOOM_WEBHOOK_URL_VALIDATION_EVENT_TYPE = 'endpoint.url_validation';
|
|
1091
|
-
|
|
1092
|
-
/**
|
|
1093
|
-
* Creates a ZoomWebhookEventValidationFunction.
|
|
1094
|
-
*
|
|
1095
|
-
* @param zoomSecretToken - The secret token used to validate the event.
|
|
1096
|
-
* @returns A ZoomWebhookEventValidationFunction.
|
|
1097
|
-
*/ function zoomWebhookEventValidationFunction(zoomSecretToken) {
|
|
1098
|
-
return function(event) {
|
|
1099
|
-
var plainToken = event.payload.plainToken;
|
|
1100
|
-
if (!plainToken) {
|
|
1101
|
-
throw new Error("The expected plaintoken value was not provided by the event's payload.");
|
|
1102
|
-
}
|
|
1103
|
-
var encryptedToken = node_crypto.createHmac('sha256', zoomSecretToken).update(plainToken).digest('hex');
|
|
1104
|
-
var result = {
|
|
1105
|
-
plainToken: plainToken,
|
|
1106
|
-
encryptedToken: encryptedToken
|
|
1107
|
-
};
|
|
1108
|
-
return result;
|
|
1109
|
-
};
|
|
1110
|
-
}
|
|
1111
|
-
|
|
1112
|
-
function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1113
|
-
try {
|
|
1114
|
-
var info = gen[key](arg);
|
|
1115
|
-
var value = info.value;
|
|
1116
|
-
} catch (error) {
|
|
1117
|
-
reject(error);
|
|
1118
|
-
return;
|
|
1119
|
-
}
|
|
1120
|
-
if (info.done) {
|
|
1121
|
-
resolve(value);
|
|
1122
|
-
} else {
|
|
1123
|
-
Promise.resolve(value).then(_next, _throw);
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
function _async_to_generator$1(fn) {
|
|
1127
|
-
return function() {
|
|
1128
|
-
var self = this, args = arguments;
|
|
1129
|
-
return new Promise(function(resolve, reject) {
|
|
1130
|
-
var gen = fn.apply(self, args);
|
|
1131
|
-
function _next(value) {
|
|
1132
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
1133
|
-
}
|
|
1134
|
-
function _throw(err) {
|
|
1135
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1136
|
-
}
|
|
1137
|
-
_next(undefined);
|
|
1138
|
-
});
|
|
1139
|
-
};
|
|
1140
|
-
}
|
|
1141
|
-
function _class_call_check$4(instance, Constructor) {
|
|
1142
|
-
if (!(instance instanceof Constructor)) {
|
|
1143
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
function _defineProperties$3(target, props) {
|
|
1147
|
-
for(var i = 0; i < props.length; i++){
|
|
1148
|
-
var descriptor = props[i];
|
|
1149
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
1150
|
-
descriptor.configurable = true;
|
|
1151
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
1152
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
1153
|
-
}
|
|
1154
|
-
}
|
|
1155
|
-
function _create_class$3(Constructor, protoProps, staticProps) {
|
|
1156
|
-
if (protoProps) _defineProperties$3(Constructor.prototype, protoProps);
|
|
1157
|
-
return Constructor;
|
|
1158
|
-
}
|
|
1159
|
-
function _define_property$3(obj, key, value) {
|
|
1160
|
-
if (key in obj) {
|
|
1161
|
-
Object.defineProperty(obj, key, {
|
|
1162
|
-
value: value,
|
|
1163
|
-
enumerable: true,
|
|
1164
|
-
configurable: true,
|
|
1165
|
-
writable: true
|
|
1166
|
-
});
|
|
1167
|
-
} else {
|
|
1168
|
-
obj[key] = value;
|
|
1169
|
-
}
|
|
1170
|
-
return obj;
|
|
1171
|
-
}
|
|
1172
|
-
function _ts_generator$1(thisArg, body) {
|
|
1173
|
-
var f, y, t, _ = {
|
|
1174
|
-
label: 0,
|
|
1175
|
-
sent: function() {
|
|
1176
|
-
if (t[0] & 1) throw t[1];
|
|
1177
|
-
return t[1];
|
|
1178
|
-
},
|
|
1179
|
-
trys: [],
|
|
1180
|
-
ops: []
|
|
1181
|
-
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
|
|
1182
|
-
return d(g, "next", {
|
|
1183
|
-
value: verb(0)
|
|
1184
|
-
}), d(g, "throw", {
|
|
1185
|
-
value: verb(1)
|
|
1186
|
-
}), d(g, "return", {
|
|
1187
|
-
value: verb(2)
|
|
1188
|
-
}), typeof Symbol === "function" && d(g, Symbol.iterator, {
|
|
1189
|
-
value: function() {
|
|
1190
|
-
return this;
|
|
1191
|
-
}
|
|
1192
|
-
}), g;
|
|
1193
|
-
function verb(n) {
|
|
1194
|
-
return function(v) {
|
|
1195
|
-
return step([
|
|
1196
|
-
n,
|
|
1197
|
-
v
|
|
1198
|
-
]);
|
|
1199
|
-
};
|
|
1200
|
-
}
|
|
1201
|
-
function step(op) {
|
|
1202
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
1203
|
-
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
1204
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
1205
|
-
if (y = 0, t) op = [
|
|
1206
|
-
op[0] & 2,
|
|
1207
|
-
t.value
|
|
1208
|
-
];
|
|
1209
|
-
switch(op[0]){
|
|
1210
|
-
case 0:
|
|
1211
|
-
case 1:
|
|
1212
|
-
t = op;
|
|
1213
|
-
break;
|
|
1214
|
-
case 4:
|
|
1215
|
-
_.label++;
|
|
1216
|
-
return {
|
|
1217
|
-
value: op[1],
|
|
1218
|
-
done: false
|
|
1219
|
-
};
|
|
1220
|
-
case 5:
|
|
1221
|
-
_.label++;
|
|
1222
|
-
y = op[1];
|
|
1223
|
-
op = [
|
|
1224
|
-
0
|
|
1225
|
-
];
|
|
1226
|
-
continue;
|
|
1227
|
-
case 7:
|
|
1228
|
-
op = _.ops.pop();
|
|
1229
|
-
_.trys.pop();
|
|
1230
|
-
continue;
|
|
1231
|
-
default:
|
|
1232
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
1233
|
-
_ = 0;
|
|
1234
|
-
continue;
|
|
1235
|
-
}
|
|
1236
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
1237
|
-
_.label = op[1];
|
|
1238
|
-
break;
|
|
1239
|
-
}
|
|
1240
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
1241
|
-
_.label = t[1];
|
|
1242
|
-
t = op;
|
|
1243
|
-
break;
|
|
1244
|
-
}
|
|
1245
|
-
if (t && _.label < t[2]) {
|
|
1246
|
-
_.label = t[2];
|
|
1247
|
-
_.ops.push(op);
|
|
1248
|
-
break;
|
|
1249
|
-
}
|
|
1250
|
-
if (t[2]) _.ops.pop();
|
|
1251
|
-
_.trys.pop();
|
|
1252
|
-
continue;
|
|
1253
|
-
}
|
|
1254
|
-
op = body.call(thisArg, _);
|
|
1255
|
-
} catch (e) {
|
|
1256
|
-
op = [
|
|
1257
|
-
6,
|
|
1258
|
-
e
|
|
1259
|
-
];
|
|
1260
|
-
y = 0;
|
|
1261
|
-
} finally{
|
|
1262
|
-
f = t = 0;
|
|
1263
|
-
}
|
|
1264
|
-
if (op[0] & 5) throw op[1];
|
|
1265
|
-
return {
|
|
1266
|
-
value: op[0] ? op[1] : void 0,
|
|
1267
|
-
done: true
|
|
1268
|
-
};
|
|
1269
|
-
}
|
|
1270
|
-
}
|
|
1271
|
-
/**
|
|
1272
|
-
* Service that makes system changes based on Zoom webhook events.
|
|
1273
|
-
*/ exports.ZoomWebhookService = /*#__PURE__*/ function() {
|
|
1274
|
-
function ZoomWebhookService(config) {
|
|
1275
|
-
_class_call_check$4(this, ZoomWebhookService);
|
|
1276
|
-
_define_property$3(this, "logger", new common.Logger('ZoomWebhookService'));
|
|
1277
|
-
_define_property$3(this, "_verifier", void 0);
|
|
1278
|
-
_define_property$3(this, "_validator", void 0);
|
|
1279
|
-
_define_property$3(this, "handler", zoomEventHandlerFactory());
|
|
1280
|
-
_define_property$3(this, "configure", zoomEventHandlerConfigurerFactory(this.handler));
|
|
1281
|
-
this._verifier = zoomWebhookEventVerifier(config.webhookConfig.zoomSecretToken);
|
|
1282
|
-
this._validator = zoomWebhookEventValidationFunction(config.webhookConfig.zoomSecretToken);
|
|
1283
|
-
}
|
|
1284
|
-
_create_class$3(ZoomWebhookService, [
|
|
1285
|
-
{
|
|
1286
|
-
key: "updateForWebhook",
|
|
1287
|
-
value: function updateForWebhook(req, rawBody) {
|
|
1288
|
-
return _async_to_generator$1(function() {
|
|
1289
|
-
var _this__verifier, valid, event, handled, validationEventResponse, result;
|
|
1290
|
-
return _ts_generator$1(this, function(_state) {
|
|
1291
|
-
switch(_state.label){
|
|
1292
|
-
case 0:
|
|
1293
|
-
_this__verifier = this._verifier(req, rawBody), valid = _this__verifier.valid, event = _this__verifier.event;
|
|
1294
|
-
handled = false;
|
|
1295
|
-
if (!!valid) return [
|
|
1296
|
-
3,
|
|
1297
|
-
1
|
|
1298
|
-
];
|
|
1299
|
-
this.logger.warn('Received invalid zoom event: ', event);
|
|
1300
|
-
return [
|
|
1301
|
-
3,
|
|
1302
|
-
4
|
|
1303
|
-
];
|
|
1304
|
-
case 1:
|
|
1305
|
-
if (!(event.event === ZOOM_WEBHOOK_URL_VALIDATION_EVENT_TYPE)) return [
|
|
1306
|
-
3,
|
|
1307
|
-
2
|
|
1308
|
-
];
|
|
1309
|
-
validationEventResponse = this._validator(event);
|
|
1310
|
-
handled = true;
|
|
1311
|
-
return [
|
|
1312
|
-
3,
|
|
1313
|
-
4
|
|
1314
|
-
];
|
|
1315
|
-
case 2:
|
|
1316
|
-
return [
|
|
1317
|
-
4,
|
|
1318
|
-
this.updateForZoomEvent(event)
|
|
1319
|
-
];
|
|
1320
|
-
case 3:
|
|
1321
|
-
handled = _state.sent();
|
|
1322
|
-
_state.label = 4;
|
|
1323
|
-
case 4:
|
|
1324
|
-
result = {
|
|
1325
|
-
valid: valid,
|
|
1326
|
-
handled: handled,
|
|
1327
|
-
event: event,
|
|
1328
|
-
validationEventResponse: validationEventResponse
|
|
1329
|
-
};
|
|
1330
|
-
return [
|
|
1331
|
-
2,
|
|
1332
|
-
result
|
|
1333
|
-
];
|
|
1334
|
-
}
|
|
1335
|
-
});
|
|
1336
|
-
}).call(this);
|
|
1337
|
-
}
|
|
1338
|
-
},
|
|
1339
|
-
{
|
|
1340
|
-
key: "updateForZoomEvent",
|
|
1341
|
-
value: function updateForZoomEvent(event) {
|
|
1342
|
-
return _async_to_generator$1(function() {
|
|
1343
|
-
var handled;
|
|
1344
|
-
return _ts_generator$1(this, function(_state) {
|
|
1345
|
-
switch(_state.label){
|
|
1346
|
-
case 0:
|
|
1347
|
-
return [
|
|
1348
|
-
4,
|
|
1349
|
-
this.handler(event)
|
|
1350
|
-
];
|
|
1351
|
-
case 1:
|
|
1352
|
-
handled = _state.sent();
|
|
1353
|
-
if (!handled) {
|
|
1354
|
-
this.logger.warn('Received unexpected/unhandled zoom event: ', event);
|
|
1355
|
-
}
|
|
1356
|
-
return [
|
|
1357
|
-
2,
|
|
1358
|
-
handled
|
|
1359
|
-
];
|
|
1360
|
-
}
|
|
1361
|
-
});
|
|
1362
|
-
}).call(this);
|
|
1363
|
-
}
|
|
1364
|
-
}
|
|
1365
|
-
]);
|
|
1366
|
-
return ZoomWebhookService;
|
|
1367
|
-
}();
|
|
1368
|
-
exports.ZoomWebhookService = __decorate([
|
|
1369
|
-
common.Injectable(),
|
|
1370
|
-
__param(0, common.Inject(ZoomWebhookServiceConfig))
|
|
1371
|
-
], exports.ZoomWebhookService);
|
|
1372
|
-
|
|
1373
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1374
|
-
try {
|
|
1375
|
-
var info = gen[key](arg);
|
|
1376
|
-
var value = info.value;
|
|
1377
|
-
} catch (error) {
|
|
1378
|
-
reject(error);
|
|
1379
|
-
return;
|
|
1380
|
-
}
|
|
1381
|
-
if (info.done) {
|
|
1382
|
-
resolve(value);
|
|
1383
|
-
} else {
|
|
1384
|
-
Promise.resolve(value).then(_next, _throw);
|
|
1385
|
-
}
|
|
1386
|
-
}
|
|
1387
|
-
function _async_to_generator(fn) {
|
|
1388
|
-
return function() {
|
|
1389
|
-
var self = this, args = arguments;
|
|
1390
|
-
return new Promise(function(resolve, reject) {
|
|
1391
|
-
var gen = fn.apply(self, args);
|
|
1392
|
-
function _next(value) {
|
|
1393
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
1394
|
-
}
|
|
1395
|
-
function _throw(err) {
|
|
1396
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1397
|
-
}
|
|
1398
|
-
_next(undefined);
|
|
1399
|
-
});
|
|
1400
|
-
};
|
|
1401
|
-
}
|
|
1402
|
-
function _class_call_check$3(instance, Constructor) {
|
|
1403
|
-
if (!(instance instanceof Constructor)) {
|
|
1404
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
function _defineProperties$2(target, props) {
|
|
1408
|
-
for(var i = 0; i < props.length; i++){
|
|
1409
|
-
var descriptor = props[i];
|
|
1410
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
1411
|
-
descriptor.configurable = true;
|
|
1412
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
1413
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
function _create_class$2(Constructor, protoProps, staticProps) {
|
|
1417
|
-
if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
|
|
1418
|
-
return Constructor;
|
|
1419
|
-
}
|
|
1420
|
-
function _define_property$2(obj, key, value) {
|
|
1421
|
-
if (key in obj) {
|
|
1422
|
-
Object.defineProperty(obj, key, {
|
|
1423
|
-
value: value,
|
|
1424
|
-
enumerable: true,
|
|
1425
|
-
configurable: true,
|
|
1426
|
-
writable: true
|
|
1427
|
-
});
|
|
1428
|
-
} else {
|
|
1429
|
-
obj[key] = value;
|
|
1430
|
-
}
|
|
1431
|
-
return obj;
|
|
1432
|
-
}
|
|
1433
|
-
function _ts_generator(thisArg, body) {
|
|
1434
|
-
var f, y, t, _ = {
|
|
1435
|
-
label: 0,
|
|
1436
|
-
sent: function() {
|
|
1437
|
-
if (t[0] & 1) throw t[1];
|
|
1438
|
-
return t[1];
|
|
1439
|
-
},
|
|
1440
|
-
trys: [],
|
|
1441
|
-
ops: []
|
|
1442
|
-
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
|
|
1443
|
-
return d(g, "next", {
|
|
1444
|
-
value: verb(0)
|
|
1445
|
-
}), d(g, "throw", {
|
|
1446
|
-
value: verb(1)
|
|
1447
|
-
}), d(g, "return", {
|
|
1448
|
-
value: verb(2)
|
|
1449
|
-
}), typeof Symbol === "function" && d(g, Symbol.iterator, {
|
|
1450
|
-
value: function() {
|
|
1451
|
-
return this;
|
|
1452
|
-
}
|
|
1453
|
-
}), g;
|
|
1454
|
-
function verb(n) {
|
|
1455
|
-
return function(v) {
|
|
1456
|
-
return step([
|
|
1457
|
-
n,
|
|
1458
|
-
v
|
|
1459
|
-
]);
|
|
1460
|
-
};
|
|
1461
|
-
}
|
|
1462
|
-
function step(op) {
|
|
1463
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
1464
|
-
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
1465
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
1466
|
-
if (y = 0, t) op = [
|
|
1467
|
-
op[0] & 2,
|
|
1468
|
-
t.value
|
|
1469
|
-
];
|
|
1470
|
-
switch(op[0]){
|
|
1471
|
-
case 0:
|
|
1472
|
-
case 1:
|
|
1473
|
-
t = op;
|
|
1474
|
-
break;
|
|
1475
|
-
case 4:
|
|
1476
|
-
_.label++;
|
|
1477
|
-
return {
|
|
1478
|
-
value: op[1],
|
|
1479
|
-
done: false
|
|
1480
|
-
};
|
|
1481
|
-
case 5:
|
|
1482
|
-
_.label++;
|
|
1483
|
-
y = op[1];
|
|
1484
|
-
op = [
|
|
1485
|
-
0
|
|
1486
|
-
];
|
|
1487
|
-
continue;
|
|
1488
|
-
case 7:
|
|
1489
|
-
op = _.ops.pop();
|
|
1490
|
-
_.trys.pop();
|
|
1491
|
-
continue;
|
|
1492
|
-
default:
|
|
1493
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
1494
|
-
_ = 0;
|
|
1495
|
-
continue;
|
|
1496
|
-
}
|
|
1497
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
1498
|
-
_.label = op[1];
|
|
1499
|
-
break;
|
|
1500
|
-
}
|
|
1501
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
1502
|
-
_.label = t[1];
|
|
1503
|
-
t = op;
|
|
1504
|
-
break;
|
|
1505
|
-
}
|
|
1506
|
-
if (t && _.label < t[2]) {
|
|
1507
|
-
_.label = t[2];
|
|
1508
|
-
_.ops.push(op);
|
|
1509
|
-
break;
|
|
1510
|
-
}
|
|
1511
|
-
if (t[2]) _.ops.pop();
|
|
1512
|
-
_.trys.pop();
|
|
1513
|
-
continue;
|
|
1514
|
-
}
|
|
1515
|
-
op = body.call(thisArg, _);
|
|
1516
|
-
} catch (e) {
|
|
1517
|
-
op = [
|
|
1518
|
-
6,
|
|
1519
|
-
e
|
|
1520
|
-
];
|
|
1521
|
-
y = 0;
|
|
1522
|
-
} finally{
|
|
1523
|
-
f = t = 0;
|
|
1524
|
-
}
|
|
1525
|
-
if (op[0] & 5) throw op[1];
|
|
1526
|
-
return {
|
|
1527
|
-
value: op[0] ? op[1] : void 0,
|
|
1528
|
-
done: true
|
|
1529
|
-
};
|
|
1530
|
-
}
|
|
1531
|
-
}
|
|
1532
|
-
exports.ZoomWebhookController = /*#__PURE__*/ function() {
|
|
1533
|
-
function ZoomWebhookController(zoomWebhookService) {
|
|
1534
|
-
_class_call_check$3(this, ZoomWebhookController);
|
|
1535
|
-
_define_property$2(this, "zoomWebhookService", void 0);
|
|
1536
|
-
this.zoomWebhookService = zoomWebhookService;
|
|
1537
|
-
}
|
|
1538
|
-
_create_class$2(ZoomWebhookController, [
|
|
1539
|
-
{
|
|
1540
|
-
key: "handleZoomWebhook",
|
|
1541
|
-
value: function handleZoomWebhook(res, req, rawBody) {
|
|
1542
|
-
return _async_to_generator(function() {
|
|
1543
|
-
var _ref, valid, validationEventResponse, response;
|
|
1544
|
-
return _ts_generator(this, function(_state) {
|
|
1545
|
-
switch(_state.label){
|
|
1546
|
-
case 0:
|
|
1547
|
-
return [
|
|
1548
|
-
4,
|
|
1549
|
-
this.zoomWebhookService.updateForWebhook(req, rawBody)
|
|
1550
|
-
];
|
|
1551
|
-
case 1:
|
|
1552
|
-
_ref = _state.sent(), valid = _ref.valid, validationEventResponse = _ref.validationEventResponse;
|
|
1553
|
-
response = res.status(200); // always return a 200 status code
|
|
1554
|
-
if (valid && validationEventResponse) {
|
|
1555
|
-
response.json(validationEventResponse);
|
|
1556
|
-
} else {
|
|
1557
|
-
response.json({});
|
|
1558
|
-
}
|
|
1559
|
-
return [
|
|
1560
|
-
2
|
|
1561
|
-
];
|
|
1562
|
-
}
|
|
1563
|
-
});
|
|
1564
|
-
}).call(this);
|
|
1565
|
-
}
|
|
1566
|
-
}
|
|
1567
|
-
]);
|
|
1568
|
-
return ZoomWebhookController;
|
|
1569
|
-
}();
|
|
1570
|
-
__decorate([
|
|
1571
|
-
common.Post(),
|
|
1572
|
-
__param(0, common.Res()),
|
|
1573
|
-
__param(1, common.Req()),
|
|
1574
|
-
__param(2, nestjs.RawBody())
|
|
1575
|
-
], exports.ZoomWebhookController.prototype, "handleZoomWebhook", null);
|
|
1576
|
-
exports.ZoomWebhookController = __decorate([
|
|
1577
|
-
common.Controller('/webhook/zoom'),
|
|
1578
|
-
__param(0, common.Inject(exports.ZoomWebhookService))
|
|
1579
|
-
], exports.ZoomWebhookController);
|
|
1580
|
-
|
|
1581
|
-
function _class_call_check$2(instance, Constructor) {
|
|
1582
|
-
if (!(instance instanceof Constructor)) {
|
|
1583
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1584
|
-
}
|
|
1585
|
-
}
|
|
1586
|
-
/**
|
|
1587
|
-
* Factory function that creates ZoomWebhookServiceConfig from NestJS ConfigService.
|
|
1588
|
-
*
|
|
1589
|
-
* @param configService - The NestJS ConfigService.
|
|
1590
|
-
* @returns A validated ZoomWebhookServiceConfig.
|
|
1591
|
-
*/ function zoomWebhookServiceConfigFactory(configService) {
|
|
1592
|
-
var config = {
|
|
1593
|
-
webhookConfig: {
|
|
1594
|
-
zoomSecretToken: configService.get(ZOOM_SECRET_TOKEN_ENV_VAR)
|
|
1595
|
-
}
|
|
1596
|
-
};
|
|
1597
|
-
ZoomWebhookServiceConfig.assertValidConfig(config);
|
|
1598
|
-
return config;
|
|
1599
|
-
}
|
|
1600
|
-
/**
|
|
1601
|
-
* Configures webhooks for the service.
|
|
1602
|
-
*/ exports.ZoomWebhookModule = function ZoomWebhookModule() {
|
|
1603
|
-
_class_call_check$2(this, ZoomWebhookModule);
|
|
1604
|
-
};
|
|
1605
|
-
exports.ZoomWebhookModule = __decorate([
|
|
1606
|
-
common.Module({
|
|
1607
|
-
imports: [
|
|
1608
|
-
config.ConfigModule
|
|
1609
|
-
],
|
|
1610
|
-
controllers: [
|
|
1611
|
-
exports.ZoomWebhookController
|
|
1612
|
-
],
|
|
1613
|
-
exports: [
|
|
1614
|
-
exports.ZoomWebhookService
|
|
1615
|
-
],
|
|
1616
|
-
providers: [
|
|
1617
|
-
{
|
|
1618
|
-
provide: ZoomWebhookServiceConfig,
|
|
1619
|
-
inject: [
|
|
1620
|
-
config.ConfigService
|
|
1621
|
-
],
|
|
1622
|
-
useFactory: zoomWebhookServiceConfigFactory
|
|
1623
|
-
},
|
|
1624
|
-
exports.ZoomWebhookService
|
|
1625
|
-
]
|
|
1626
|
-
})
|
|
1627
|
-
], exports.ZoomWebhookModule);
|
|
1628
|
-
|
|
1629
|
-
function _class_call_check$1(instance, Constructor) {
|
|
1630
|
-
if (!(instance instanceof Constructor)) {
|
|
1631
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1632
|
-
}
|
|
1633
|
-
}
|
|
1634
|
-
function _defineProperties$1(target, props) {
|
|
1635
|
-
for(var i = 0; i < props.length; i++){
|
|
1636
|
-
var descriptor = props[i];
|
|
1637
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
1638
|
-
descriptor.configurable = true;
|
|
1639
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
1640
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
1641
|
-
}
|
|
1642
|
-
}
|
|
1643
|
-
function _create_class$1(Constructor, protoProps, staticProps) {
|
|
1644
|
-
if (staticProps) _defineProperties$1(Constructor, staticProps);
|
|
1645
|
-
return Constructor;
|
|
1646
|
-
}
|
|
1647
|
-
function _define_property$1(obj, key, value) {
|
|
1648
|
-
if (key in obj) {
|
|
1649
|
-
Object.defineProperty(obj, key, {
|
|
1650
|
-
value: value,
|
|
1651
|
-
enumerable: true,
|
|
1652
|
-
configurable: true,
|
|
1653
|
-
writable: true
|
|
1654
|
-
});
|
|
1655
|
-
} else {
|
|
1656
|
-
obj[key] = value;
|
|
1657
|
-
}
|
|
1658
|
-
return obj;
|
|
1659
|
-
}
|
|
1660
|
-
/**
|
|
1661
|
-
* Configuration for ZoomService
|
|
1662
|
-
*/ var ZoomServiceConfig = /*#__PURE__*/ function() {
|
|
1663
|
-
function ZoomServiceConfig() {
|
|
1664
|
-
_class_call_check$1(this, ZoomServiceConfig);
|
|
1665
|
-
_define_property$1(this, "zoom", void 0);
|
|
1666
|
-
_define_property$1(this, "factoryConfig", void 0);
|
|
1667
|
-
}
|
|
1668
|
-
_create_class$1(ZoomServiceConfig, null, [
|
|
1669
|
-
{
|
|
1670
|
-
key: "assertValidConfig",
|
|
1671
|
-
value: function assertValidConfig(_config) {
|
|
1672
|
-
// TODO?
|
|
1673
|
-
}
|
|
1674
|
-
}
|
|
1675
|
-
]);
|
|
1676
|
-
return ZoomServiceConfig;
|
|
1677
|
-
}
|
|
1678
|
-
();
|
|
1679
|
-
|
|
1680
|
-
function _class_call_check(instance, Constructor) {
|
|
1681
|
-
if (!(instance instanceof Constructor)) {
|
|
1682
|
-
throw new TypeError("Cannot call a class as a function");
|
|
1683
|
-
}
|
|
1684
|
-
}
|
|
1685
|
-
function _defineProperties(target, props) {
|
|
1686
|
-
for(var i = 0; i < props.length; i++){
|
|
1687
|
-
var descriptor = props[i];
|
|
1688
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
1689
|
-
descriptor.configurable = true;
|
|
1690
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
1691
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
1692
|
-
}
|
|
1693
|
-
}
|
|
1694
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
1695
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
1696
|
-
return Constructor;
|
|
1697
|
-
}
|
|
1698
|
-
function _define_property(obj, key, value) {
|
|
1699
|
-
if (key in obj) {
|
|
1700
|
-
Object.defineProperty(obj, key, {
|
|
1701
|
-
value: value,
|
|
1702
|
-
enumerable: true,
|
|
1703
|
-
configurable: true,
|
|
1704
|
-
writable: true
|
|
1705
|
-
});
|
|
1706
|
-
} else {
|
|
1707
|
-
obj[key] = value;
|
|
1708
|
-
}
|
|
1709
|
-
return obj;
|
|
1710
|
-
}
|
|
1711
|
-
function _object_spread(target) {
|
|
1712
|
-
for(var i = 1; i < arguments.length; i++){
|
|
1713
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
1714
|
-
var ownKeys = Object.keys(source);
|
|
1715
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
1716
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
1717
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
1718
|
-
}));
|
|
1719
|
-
}
|
|
1720
|
-
ownKeys.forEach(function(key) {
|
|
1721
|
-
_define_property(target, key, source[key]);
|
|
1722
|
-
});
|
|
1723
|
-
}
|
|
1724
|
-
return target;
|
|
1725
|
-
}
|
|
1726
|
-
function ownKeys(object, enumerableOnly) {
|
|
1727
|
-
var keys = Object.keys(object);
|
|
1728
|
-
if (Object.getOwnPropertySymbols) {
|
|
1729
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
1730
|
-
keys.push.apply(keys, symbols);
|
|
1731
|
-
}
|
|
1732
|
-
return keys;
|
|
1733
|
-
}
|
|
1734
|
-
function _object_spread_props(target, source) {
|
|
1735
|
-
source = source != null ? source : {};
|
|
1736
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
1737
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
1738
|
-
} else {
|
|
1739
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
1740
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
1741
|
-
});
|
|
1742
|
-
}
|
|
1743
|
-
return target;
|
|
1744
|
-
}
|
|
1745
|
-
exports.ZoomApi = /*#__PURE__*/ function() {
|
|
1746
|
-
function ZoomApi(config, zoomOAuthApi) {
|
|
1747
|
-
_class_call_check(this, ZoomApi);
|
|
1748
|
-
_define_property(this, "config", void 0);
|
|
1749
|
-
_define_property(this, "zoomOAuthApi", void 0);
|
|
1750
|
-
_define_property(this, "zoom", void 0);
|
|
1751
|
-
this.config = config;
|
|
1752
|
-
this.zoomOAuthApi = zoomOAuthApi;
|
|
1753
|
-
this.zoom = zoom.zoomFactory(_object_spread_props(_object_spread({}, config.factoryConfig), {
|
|
1754
|
-
oauthContext: zoomOAuthApi.oauthContext
|
|
1755
|
-
}))(config.zoom);
|
|
1756
|
-
}
|
|
1757
|
-
_create_class(ZoomApi, [
|
|
1758
|
-
{
|
|
1759
|
-
key: "zoomContext",
|
|
1760
|
-
get: function get() {
|
|
1761
|
-
return this.zoom.zoomServerContext;
|
|
1762
|
-
}
|
|
1763
|
-
},
|
|
1764
|
-
{
|
|
1765
|
-
key: "zoomRateLimiter",
|
|
1766
|
-
get: function get() {
|
|
1767
|
-
return this.zoom.zoomServerContext.zoomRateLimiter;
|
|
1768
|
-
}
|
|
1769
|
-
},
|
|
1770
|
-
{
|
|
1771
|
-
key: "getUser",
|
|
1772
|
-
get: // MARK: Users
|
|
1773
|
-
function get() {
|
|
1774
|
-
return zoom.getUser(this.zoomContext);
|
|
1775
|
-
}
|
|
1776
|
-
},
|
|
1777
|
-
{
|
|
1778
|
-
key: "listUsers",
|
|
1779
|
-
get: function get() {
|
|
1780
|
-
return zoom.listUsers(this.zoomContext);
|
|
1781
|
-
}
|
|
1782
|
-
},
|
|
1783
|
-
{
|
|
1784
|
-
key: "listUsersPageFactory",
|
|
1785
|
-
get: function get() {
|
|
1786
|
-
return zoom.listUsersPageFactory(this.zoomContext);
|
|
1787
|
-
}
|
|
1788
|
-
},
|
|
1789
|
-
{
|
|
1790
|
-
key: "listMeetingsForUser",
|
|
1791
|
-
get: // MARK: Meetings
|
|
1792
|
-
function get() {
|
|
1793
|
-
return zoom.listMeetingsForUser(this.zoomContext);
|
|
1794
|
-
}
|
|
1795
|
-
},
|
|
1796
|
-
{
|
|
1797
|
-
key: "listMeetingsForUserPageFactory",
|
|
1798
|
-
get: function get() {
|
|
1799
|
-
return zoom.listMeetingsForUserPageFactory(this.zoomContext);
|
|
1800
|
-
}
|
|
1801
|
-
},
|
|
1802
|
-
{
|
|
1803
|
-
key: "createMeetingForUser",
|
|
1804
|
-
get: function get() {
|
|
1805
|
-
return zoom.createMeetingForUser(this.zoomContext);
|
|
1806
|
-
}
|
|
1807
|
-
},
|
|
1808
|
-
{
|
|
1809
|
-
key: "getMeeting",
|
|
1810
|
-
get: function get() {
|
|
1811
|
-
return zoom.getMeeting(this.zoomContext);
|
|
1812
|
-
}
|
|
1813
|
-
},
|
|
1814
|
-
{
|
|
1815
|
-
key: "updateMeeting",
|
|
1816
|
-
get: function get() {
|
|
1817
|
-
return zoom.updateMeeting(this.zoomContext);
|
|
1818
|
-
}
|
|
1819
|
-
},
|
|
1820
|
-
{
|
|
1821
|
-
key: "deleteMeeting",
|
|
1822
|
-
get: function get() {
|
|
1823
|
-
return zoom.deleteMeeting(this.zoomContext);
|
|
1824
|
-
}
|
|
1825
|
-
},
|
|
1826
|
-
{
|
|
1827
|
-
key: "getPastMeeting",
|
|
1828
|
-
get: // MARK: Past Meetings
|
|
1829
|
-
function get() {
|
|
1830
|
-
return zoom.getPastMeeting(this.zoomContext);
|
|
1831
|
-
}
|
|
1832
|
-
},
|
|
1833
|
-
{
|
|
1834
|
-
key: "getPastMeetingParticipants",
|
|
1835
|
-
get: function get() {
|
|
1836
|
-
return zoom.getPastMeetingParticipants(this.zoomContext);
|
|
1837
|
-
}
|
|
1838
|
-
}
|
|
1839
|
-
]);
|
|
1840
|
-
return ZoomApi;
|
|
1841
|
-
}();
|
|
1842
|
-
exports.ZoomApi = __decorate([
|
|
1843
|
-
common.Injectable(),
|
|
1844
|
-
__param(0, common.Inject(ZoomServiceConfig)),
|
|
1845
|
-
__param(1, common.Inject(exports.ZoomOAuthApi))
|
|
1846
|
-
], exports.ZoomApi);
|
|
1847
|
-
var ZoomApiUserContext = function ZoomApiUserContext(_refreshToken) {
|
|
1848
|
-
_class_call_check(this, ZoomApiUserContext);
|
|
1849
|
-
}
|
|
1850
|
-
;
|
|
1851
|
-
|
|
1852
|
-
function _array_like_to_array(arr, len) {
|
|
1853
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
1854
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
1855
|
-
return arr2;
|
|
1856
|
-
}
|
|
1857
|
-
function _array_without_holes(arr) {
|
|
1858
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
1859
|
-
}
|
|
1860
|
-
function _iterable_to_array(iter) {
|
|
1861
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
1862
|
-
}
|
|
1863
|
-
function _non_iterable_spread() {
|
|
1864
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1865
|
-
}
|
|
1866
|
-
function _to_consumable_array(arr) {
|
|
1867
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
1868
|
-
}
|
|
1869
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
1870
|
-
if (!o) return;
|
|
1871
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
1872
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
1873
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
1874
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
1875
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
1876
|
-
}
|
|
1877
|
-
// MARK: Provider Factories
|
|
1878
|
-
/**
|
|
1879
|
-
* Default factory function for creating ZoomServiceConfig from ConfigService.
|
|
1880
|
-
*
|
|
1881
|
-
* @param _configService - The NestJS ConfigService (unused currently)
|
|
1882
|
-
* @returns A validated ZoomServiceConfig.
|
|
1883
|
-
*/ function zoomServiceConfigFactory(_configService) {
|
|
1884
|
-
var config = {
|
|
1885
|
-
zoom: {}
|
|
1886
|
-
};
|
|
1887
|
-
ZoomServiceConfig.assertValidConfig(config);
|
|
1888
|
-
return config;
|
|
1889
|
-
}
|
|
1890
|
-
/**
|
|
1891
|
-
* Convenience function used to generate ModuleMetadata for an app's ZoomModule.
|
|
1892
|
-
*
|
|
1893
|
-
* @param config - The configuration for the module metadata.
|
|
1894
|
-
* @returns Module metadata for the Zoom module.
|
|
1895
|
-
*/ function appZoomModuleMetadata(config$1) {
|
|
1896
|
-
var dependencyModule = config$1.dependencyModule, imports = config$1.imports, exports$1 = config$1.exports, providers = config$1.providers;
|
|
1897
|
-
var dependencyModuleImport = dependencyModule ? [
|
|
1898
|
-
dependencyModule
|
|
1899
|
-
] : [];
|
|
1900
|
-
return {
|
|
1901
|
-
imports: [
|
|
1902
|
-
config.ConfigModule
|
|
1903
|
-
].concat(_to_consumable_array(dependencyModuleImport), _to_consumable_array(imports !== null && imports !== void 0 ? imports : [])),
|
|
1904
|
-
exports: [
|
|
1905
|
-
exports.ZoomApi
|
|
1906
|
-
].concat(_to_consumable_array(exports$1 !== null && exports$1 !== void 0 ? exports$1 : [])),
|
|
1907
|
-
providers: [
|
|
1908
|
-
{
|
|
1909
|
-
provide: ZoomServiceConfig,
|
|
1910
|
-
inject: [
|
|
1911
|
-
config.ConfigService
|
|
1912
|
-
],
|
|
1913
|
-
useFactory: zoomServiceConfigFactory
|
|
1914
|
-
},
|
|
1915
|
-
exports.ZoomApi
|
|
1916
|
-
].concat(_to_consumable_array(providers !== null && providers !== void 0 ? providers : []))
|
|
1917
|
-
};
|
|
1918
|
-
}
|
|
1919
|
-
|
|
1920
|
-
exports.DEFAULT_FILE_ZOOM_ACCOUNTS_ACCESS_TOKEN_CACHE_SERVICE_PATH = DEFAULT_FILE_ZOOM_ACCOUNTS_ACCESS_TOKEN_CACHE_SERVICE_PATH;
|
|
1921
|
-
exports.ZOOM_SECRET_TOKEN_ENV_VAR = ZOOM_SECRET_TOKEN_ENV_VAR;
|
|
1922
|
-
exports.ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE;
|
|
1923
|
-
exports.ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE;
|
|
1924
|
-
exports.ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE;
|
|
1925
|
-
exports.ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE;
|
|
1926
|
-
exports.ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE;
|
|
1927
|
-
exports.ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE;
|
|
1928
|
-
exports.ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE = ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE;
|
|
1929
|
-
exports.ZOOM_WEBHOOK_URL_VALIDATION_EVENT_TYPE = ZOOM_WEBHOOK_URL_VALIDATION_EVENT_TYPE;
|
|
1930
|
-
exports.ZoomApiUserContext = ZoomApiUserContext;
|
|
1931
|
-
exports.ZoomOAuthServiceConfig = ZoomOAuthServiceConfig;
|
|
1932
|
-
exports.ZoomServiceConfig = ZoomServiceConfig;
|
|
1933
|
-
exports.ZoomWebhookServiceConfig = ZoomWebhookServiceConfig;
|
|
1934
|
-
exports.appZoomModuleMetadata = appZoomModuleMetadata;
|
|
1935
|
-
exports.appZoomOAuthModuleMetadata = appZoomOAuthModuleMetadata;
|
|
1936
|
-
exports.fileZoomOAuthAccessTokenCacheService = fileZoomOAuthAccessTokenCacheService;
|
|
1937
|
-
exports.logMergeZoomOAuthAccessTokenCacheServiceErrorFunction = logMergeZoomOAuthAccessTokenCacheServiceErrorFunction;
|
|
1938
|
-
exports.memoryZoomOAuthAccessTokenCacheService = memoryZoomOAuthAccessTokenCacheService;
|
|
1939
|
-
exports.mergeZoomOAuthAccessTokenCacheServices = mergeZoomOAuthAccessTokenCacheServices;
|
|
1940
|
-
exports.readZoomOAuthServiceConfigFromConfigService = readZoomOAuthServiceConfigFromConfigService;
|
|
1941
|
-
exports.zoomEventHandlerConfigurerFactory = zoomEventHandlerConfigurerFactory;
|
|
1942
|
-
exports.zoomEventHandlerFactory = zoomEventHandlerFactory;
|
|
1943
|
-
exports.zoomOAuthServiceConfigFactory = zoomOAuthServiceConfigFactory;
|
|
1944
|
-
exports.zoomServiceConfigFactory = zoomServiceConfigFactory;
|
|
1945
|
-
exports.zoomWebhookEvent = zoomWebhookEvent;
|
|
1946
|
-
exports.zoomWebhookEventValidationFunction = zoomWebhookEventValidationFunction;
|
|
1947
|
-
exports.zoomWebhookEventVerifier = zoomWebhookEventVerifier;
|
|
1948
|
-
exports.zoomWebhookServiceConfigFactory = zoomWebhookServiceConfigFactory;
|