@webex/plugin-meetings 3.7.0-next.6 → 3.7.0-next.61
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/dist/annotation/index.js +17 -0
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/join-forbidden-error.js +52 -0
- package/dist/common/errors/join-forbidden-error.js.map +1 -0
- package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
- package/dist/common/errors/join-webinar-error.js.map +1 -0
- package/dist/common/errors/multistream-not-supported-error.js +53 -0
- package/dist/common/errors/multistream-not-supported-error.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +46 -5
- package/dist/constants.js.map +1 -1
- package/dist/index.js +16 -11
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +14 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +35 -17
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/brbState.js +167 -0
- package/dist/meeting/brbState.js.map +1 -0
- package/dist/meeting/in-meeting-actions.js +2 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +774 -649
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +9 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +1 -6
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +16 -16
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +96 -33
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +1 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +107 -55
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +2 -0
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/util.js +1 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +39 -28
- package/dist/member/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMedia.js +30 -15
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +24 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/index.js +31 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/roap/index.js +10 -8
- package/dist/roap/index.js.map +1 -1
- package/dist/types/annotation/index.d.ts +5 -0
- package/dist/types/common/errors/join-forbidden-error.d.ts +15 -0
- package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
- package/dist/types/common/errors/multistream-not-supported-error.d.ts +17 -0
- package/dist/types/constants.d.ts +38 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/locus-info/index.d.ts +2 -1
- package/dist/types/meeting/brbState.d.ts +54 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
- package/dist/types/meeting/index.d.ts +21 -12
- package/dist/types/meeting/locusMediaRequest.d.ts +4 -0
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +1 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +27 -4
- package/dist/types/meetings/index.d.ts +19 -1
- package/dist/types/meetings/meetings.types.d.ts +8 -0
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/types.d.ts +7 -0
- package/dist/types/metrics/constants.d.ts +2 -1
- package/dist/types/multistream/sendSlotManager.d.ts +8 -1
- package/dist/types/reachability/index.d.ts +9 -1
- package/dist/webinar/index.js +354 -3
- package/dist/webinar/index.js.map +1 -1
- package/package.json +23 -22
- package/src/annotation/index.ts +16 -0
- package/src/common/errors/join-forbidden-error.ts +26 -0
- package/src/common/errors/join-webinar-error.ts +24 -0
- package/src/common/errors/multistream-not-supported-error.ts +30 -0
- package/src/config.ts +1 -1
- package/src/constants.ts +43 -3
- package/src/index.ts +5 -3
- package/src/locus-info/index.ts +20 -3
- package/src/locus-info/selfUtils.ts +24 -6
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/in-meeting-actions.ts +4 -0
- package/src/meeting/index.ts +256 -82
- package/src/meeting/locusMediaRequest.ts +7 -0
- package/src/meeting/muteState.ts +1 -6
- package/src/meeting/request.ts +26 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +8 -10
- package/src/meeting-info/meeting-info-v2.ts +74 -11
- package/src/meeting-info/utilv2.ts +3 -1
- package/src/meetings/index.ts +79 -20
- package/src/meetings/meetings.types.ts +10 -0
- package/src/meetings/util.ts +2 -1
- package/src/member/index.ts +9 -0
- package/src/member/types.ts +8 -0
- package/src/member/util.ts +34 -24
- package/src/metrics/constants.ts +2 -1
- package/src/multistream/remoteMedia.ts +28 -15
- package/src/multistream/sendSlotManager.ts +31 -0
- package/src/reachability/index.ts +29 -1
- package/src/roap/index.ts +10 -8
- package/src/webinar/index.ts +197 -3
- package/test/unit/spec/annotation/index.ts +46 -1
- package/test/unit/spec/locus-info/index.js +292 -60
- package/test/unit/spec/locus-info/selfConstant.js +7 -0
- package/test/unit/spec/locus-info/selfUtils.js +101 -1
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +733 -106
- package/test/unit/spec/meeting/muteState.js +0 -24
- package/test/unit/spec/meeting/utils.js +22 -19
- package/test/unit/spec/meeting-info/meetinginfov2.js +46 -4
- package/test/unit/spec/meeting-info/utilv2.js +17 -0
- package/test/unit/spec/meetings/index.js +159 -18
- package/test/unit/spec/meetings/utils.js +10 -0
- package/test/unit/spec/member/util.js +52 -11
- package/test/unit/spec/multistream/remoteMedia.ts +11 -7
- package/test/unit/spec/reachability/index.ts +120 -10
- package/test/unit/spec/roap/index.ts +47 -0
- package/test/unit/spec/webinar/index.ts +457 -0
- package/dist/common/errors/webinar-registration-error.js.map +0 -1
- package/src/common/errors/webinar-registration-error.ts +0 -27
|
@@ -11,7 +11,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
|
|
|
11
11
|
_Object$defineProperty(exports, "__esModule", {
|
|
12
12
|
value: true
|
|
13
13
|
});
|
|
14
|
-
exports.default = exports.
|
|
14
|
+
exports.default = exports.MeetingInfoV2PolicyError = exports.MeetingInfoV2PasswordError = exports.MeetingInfoV2JoinWebinarError = exports.MeetingInfoV2JoinForbiddenError = exports.MeetingInfoV2CaptchaError = exports.MeetingInfoV2AdhocMeetingError = void 0;
|
|
15
15
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
17
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
@@ -37,7 +37,20 @@ var CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() w
|
|
|
37
37
|
var ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';
|
|
38
38
|
var CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];
|
|
39
39
|
var POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];
|
|
40
|
-
var
|
|
40
|
+
var JOIN_FORBIDDEN_CODES = [403003];
|
|
41
|
+
/**
|
|
42
|
+
* 403021 - Meeting registration is required
|
|
43
|
+
* 403022 - Meeting registration is still pending
|
|
44
|
+
* 403024 - Meeting registration have been rejected
|
|
45
|
+
* 403137 - Registration ID verified failure
|
|
46
|
+
* 423007 - Registration ID input too many time,please input captcha code
|
|
47
|
+
* 403026 - Need to join meeting via webcast
|
|
48
|
+
* 403037 - Meeting join required registration ID
|
|
49
|
+
* 403137 - Registration ID verified failure
|
|
50
|
+
*
|
|
51
|
+
*/
|
|
52
|
+
var JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];
|
|
53
|
+
|
|
41
54
|
/**
|
|
42
55
|
* Error to indicate that wbxappapi requires a password
|
|
43
56
|
*/
|
|
@@ -159,11 +172,11 @@ var MeetingInfoV2CaptchaError = exports.MeetingInfoV2CaptchaError = /*#__PURE__*
|
|
|
159
172
|
return (0, _createClass2.default)(MeetingInfoV2CaptchaError);
|
|
160
173
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
161
174
|
/**
|
|
162
|
-
* Error preventing join because of a webinar
|
|
175
|
+
* Error preventing join because of a webinar have some error
|
|
163
176
|
*/
|
|
164
|
-
var
|
|
165
|
-
(0, _inherits2.default)(
|
|
166
|
-
var _super5 = _createSuper(
|
|
177
|
+
var MeetingInfoV2JoinWebinarError = exports.MeetingInfoV2JoinWebinarError = /*#__PURE__*/function (_Error5) {
|
|
178
|
+
(0, _inherits2.default)(MeetingInfoV2JoinWebinarError, _Error5);
|
|
179
|
+
var _super5 = _createSuper(MeetingInfoV2JoinWebinarError);
|
|
167
180
|
/**
|
|
168
181
|
*
|
|
169
182
|
* @constructor
|
|
@@ -171,22 +184,52 @@ var MeetingInfoV2WebinarRegistrationError = exports.MeetingInfoV2WebinarRegistra
|
|
|
171
184
|
* @param {Object} [meetingInfo]
|
|
172
185
|
* @param {String} [message]
|
|
173
186
|
*/
|
|
174
|
-
function
|
|
187
|
+
function MeetingInfoV2JoinWebinarError(wbxAppApiErrorCode, meetingInfo, message) {
|
|
175
188
|
var _this5;
|
|
176
|
-
(0, _classCallCheck2.default)(this,
|
|
189
|
+
(0, _classCallCheck2.default)(this, MeetingInfoV2JoinWebinarError);
|
|
177
190
|
_this5 = _super5.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
|
|
178
191
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this5), "meetingInfo", void 0);
|
|
179
192
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this5), "sdkMessage", void 0);
|
|
180
193
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this5), "wbxAppApiCode", void 0);
|
|
181
194
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this5), "body", void 0);
|
|
182
|
-
_this5.name = '
|
|
195
|
+
_this5.name = 'MeetingInfoV2JoinWebinarError';
|
|
183
196
|
_this5.sdkMessage = message;
|
|
184
197
|
_this5.stack = new Error().stack;
|
|
185
198
|
_this5.wbxAppApiCode = wbxAppApiErrorCode;
|
|
186
199
|
_this5.meetingInfo = meetingInfo;
|
|
187
200
|
return _this5;
|
|
188
201
|
}
|
|
189
|
-
return (0, _createClass2.default)(
|
|
202
|
+
return (0, _createClass2.default)(MeetingInfoV2JoinWebinarError);
|
|
203
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
204
|
+
/**
|
|
205
|
+
* Error preventing join because of a forbidden error
|
|
206
|
+
*/
|
|
207
|
+
var MeetingInfoV2JoinForbiddenError = exports.MeetingInfoV2JoinForbiddenError = /*#__PURE__*/function (_Error6) {
|
|
208
|
+
(0, _inherits2.default)(MeetingInfoV2JoinForbiddenError, _Error6);
|
|
209
|
+
var _super6 = _createSuper(MeetingInfoV2JoinForbiddenError);
|
|
210
|
+
/**
|
|
211
|
+
*
|
|
212
|
+
* @constructor
|
|
213
|
+
* @param {Number} [wbxAppApiErrorCode]
|
|
214
|
+
* @param {Object} [meetingInfo]
|
|
215
|
+
* @param {String} [message]
|
|
216
|
+
*/
|
|
217
|
+
function MeetingInfoV2JoinForbiddenError(wbxAppApiErrorCode, meetingInfo, message) {
|
|
218
|
+
var _this6;
|
|
219
|
+
(0, _classCallCheck2.default)(this, MeetingInfoV2JoinForbiddenError);
|
|
220
|
+
_this6 = _super6.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
|
|
221
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this6), "meetingInfo", void 0);
|
|
222
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this6), "sdkMessage", void 0);
|
|
223
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this6), "wbxAppApiCode", void 0);
|
|
224
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this6), "body", void 0);
|
|
225
|
+
_this6.name = 'MeetingInfoV2JoinForbiddenError';
|
|
226
|
+
_this6.sdkMessage = message;
|
|
227
|
+
_this6.stack = new Error().stack;
|
|
228
|
+
_this6.wbxAppApiCode = wbxAppApiErrorCode;
|
|
229
|
+
_this6.meetingInfo = meetingInfo;
|
|
230
|
+
return _this6;
|
|
231
|
+
}
|
|
232
|
+
return (0, _createClass2.default)(MeetingInfoV2JoinForbiddenError);
|
|
190
233
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
191
234
|
/**
|
|
192
235
|
* @class MeetingInfo
|
|
@@ -218,21 +261,39 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
218
261
|
}
|
|
219
262
|
});
|
|
220
263
|
/**
|
|
221
|
-
* Raises a
|
|
264
|
+
* Raises a handleJoinWebinarError for join webinar error codes
|
|
222
265
|
* @param {any} err the error from the request
|
|
223
266
|
* @returns {void}
|
|
224
267
|
*/
|
|
225
|
-
(0, _defineProperty2.default)(this, "
|
|
268
|
+
(0, _defineProperty2.default)(this, "handleJoinWebinarError", function (err) {
|
|
226
269
|
var _err$body6;
|
|
227
270
|
if (!err.body) {
|
|
228
271
|
return;
|
|
229
272
|
}
|
|
230
|
-
if (
|
|
273
|
+
if (JOIN_WEBINAR_ERROR_CODES.includes((_err$body6 = err.body) === null || _err$body6 === void 0 ? void 0 : _err$body6.code)) {
|
|
231
274
|
var _err$body7, _err$body8, _err$body9, _err$body9$data, _err$body10;
|
|
232
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.
|
|
275
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WEBINAR_ERROR, {
|
|
233
276
|
code: (_err$body7 = err.body) === null || _err$body7 === void 0 ? void 0 : _err$body7.code
|
|
234
277
|
});
|
|
235
|
-
throw new
|
|
278
|
+
throw new MeetingInfoV2JoinWebinarError((_err$body8 = err.body) === null || _err$body8 === void 0 ? void 0 : _err$body8.code, (_err$body9 = err.body) === null || _err$body9 === void 0 ? void 0 : (_err$body9$data = _err$body9.data) === null || _err$body9$data === void 0 ? void 0 : _err$body9$data.meetingInfo, (_err$body10 = err.body) === null || _err$body10 === void 0 ? void 0 : _err$body10.message);
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
/**
|
|
282
|
+
* Raises a handleForbiddenError for join meeting forbidden error
|
|
283
|
+
* @param {any} err the error from the request
|
|
284
|
+
* @returns {void}
|
|
285
|
+
*/
|
|
286
|
+
(0, _defineProperty2.default)(this, "handleForbiddenError", function (err) {
|
|
287
|
+
var _err$body11;
|
|
288
|
+
if (!err.body) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
if (JOIN_FORBIDDEN_CODES.includes((_err$body11 = err.body) === null || _err$body11 === void 0 ? void 0 : _err$body11.code)) {
|
|
292
|
+
var _err$body12, _err$body13, _err$body14, _err$body14$data, _err$body15;
|
|
293
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FORBIDDEN_ERROR, {
|
|
294
|
+
code: (_err$body12 = err.body) === null || _err$body12 === void 0 ? void 0 : _err$body12.code
|
|
295
|
+
});
|
|
296
|
+
throw new MeetingInfoV2JoinForbiddenError((_err$body13 = err.body) === null || _err$body13 === void 0 ? void 0 : _err$body13.code, (_err$body14 = err.body) === null || _err$body14 === void 0 ? void 0 : (_err$body14$data = _err$body14.data) === null || _err$body14$data === void 0 ? void 0 : _err$body14$data.meetingInfo, (_err$body15 = err.body) === null || _err$body15 === void 0 ? void 0 : _err$body15.message);
|
|
236
297
|
}
|
|
237
298
|
});
|
|
238
299
|
this.webex = webex;
|
|
@@ -269,7 +330,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
269
330
|
*/
|
|
270
331
|
function () {
|
|
271
332
|
var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl, installedOrgID) {
|
|
272
|
-
var
|
|
333
|
+
var _this7 = this;
|
|
273
334
|
var getInvitees;
|
|
274
335
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
275
336
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -313,8 +374,8 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
313
374
|
if (installedOrgID) {
|
|
314
375
|
body.installedOrgID = installedOrgID;
|
|
315
376
|
}
|
|
316
|
-
var uri =
|
|
317
|
-
return
|
|
377
|
+
var uri = _this7.webex.meetings.preferredWebexSite ? "https://".concat(_this7.webex.meetings.preferredWebexSite, "/wbxappapi/v2/meetings/spaceInstant") : '';
|
|
378
|
+
return _this7.webex.request({
|
|
318
379
|
method: _constants.HTTP_VERBS.POST,
|
|
319
380
|
uri: uri,
|
|
320
381
|
body: body
|
|
@@ -323,14 +384,15 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
323
384
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_SUCCESS);
|
|
324
385
|
return requestResult;
|
|
325
386
|
}).catch(function (err) {
|
|
326
|
-
var _err$
|
|
327
|
-
|
|
328
|
-
|
|
387
|
+
var _err$body16, _err$body17;
|
|
388
|
+
_this7.handlePolicyError(err);
|
|
389
|
+
_this7.handleJoinWebinarError(err);
|
|
390
|
+
_this7.handleForbiddenError(err);
|
|
329
391
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_FAILURE, {
|
|
330
392
|
reason: err.message,
|
|
331
393
|
stack: err.stack
|
|
332
394
|
});
|
|
333
|
-
throw new MeetingInfoV2AdhocMeetingError((_err$
|
|
395
|
+
throw new MeetingInfoV2AdhocMeetingError((_err$body16 = err.body) === null || _err$body16 === void 0 ? void 0 : _err$body16.code, (_err$body17 = err.body) === null || _err$body17 === void 0 ? void 0 : _err$body17.message);
|
|
334
396
|
}));
|
|
335
397
|
case 4:
|
|
336
398
|
case "end":
|
|
@@ -364,7 +426,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
364
426
|
key: "fetchMeetingInfo",
|
|
365
427
|
value: (function () {
|
|
366
428
|
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(destination) {
|
|
367
|
-
var
|
|
429
|
+
var _this8 = this;
|
|
368
430
|
var type,
|
|
369
431
|
password,
|
|
370
432
|
captchaInfo,
|
|
@@ -458,10 +520,10 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
458
520
|
return _context2.abrupt("return", this.webex.request(requestOptions).then(function (response) {
|
|
459
521
|
if (meetingId && sendCAevents) {
|
|
460
522
|
var _response$body, _response$body2, _response$body3;
|
|
461
|
-
|
|
523
|
+
_this8.webex.internal.newMetrics.submitInternalEvent({
|
|
462
524
|
name: 'internal.client.meetinginfo.response'
|
|
463
525
|
});
|
|
464
|
-
|
|
526
|
+
_this8.webex.internal.newMetrics.submitClientEvent({
|
|
465
527
|
name: 'client.meetinginfo.response',
|
|
466
528
|
payload: {
|
|
467
529
|
identifiers: {
|
|
@@ -479,10 +541,10 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
479
541
|
return response;
|
|
480
542
|
}).catch(function (err) {
|
|
481
543
|
if (meetingId && sendCAevents) {
|
|
482
|
-
|
|
544
|
+
_this8.webex.internal.newMetrics.submitInternalEvent({
|
|
483
545
|
name: 'internal.client.meetinginfo.response'
|
|
484
546
|
});
|
|
485
|
-
|
|
547
|
+
_this8.webex.internal.newMetrics.submitClientEvent({
|
|
486
548
|
name: 'client.meetinginfo.response',
|
|
487
549
|
payload: {
|
|
488
550
|
identifiers: {
|
|
@@ -496,22 +558,23 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
|
496
558
|
});
|
|
497
559
|
}
|
|
498
560
|
if ((err === null || err === void 0 ? void 0 : err.statusCode) === 403) {
|
|
499
|
-
var _err$
|
|
500
|
-
|
|
501
|
-
|
|
561
|
+
var _err$body18, _err$body19, _err$body19$data;
|
|
562
|
+
_this8.handlePolicyError(err);
|
|
563
|
+
_this8.handleJoinWebinarError(err);
|
|
564
|
+
_this8.handleForbiddenError(err);
|
|
502
565
|
_metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_PASSWORD_ERROR, {
|
|
503
566
|
reason: err.message,
|
|
504
567
|
stack: err.stack
|
|
505
568
|
});
|
|
506
|
-
throw new MeetingInfoV2PasswordError((_err$
|
|
569
|
+
throw new MeetingInfoV2PasswordError((_err$body18 = err.body) === null || _err$body18 === void 0 ? void 0 : _err$body18.code, (_err$body19 = err.body) === null || _err$body19 === void 0 ? void 0 : (_err$body19$data = _err$body19.data) === null || _err$body19$data === void 0 ? void 0 : _err$body19$data.meetingInfo);
|
|
507
570
|
}
|
|
508
571
|
if ((err === null || err === void 0 ? void 0 : err.statusCode) === 423) {
|
|
509
|
-
var _err$
|
|
572
|
+
var _err$body20;
|
|
510
573
|
_metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_CAPTCHA_ERROR, {
|
|
511
574
|
reason: err.message,
|
|
512
575
|
stack: err.stack
|
|
513
576
|
});
|
|
514
|
-
throw new MeetingInfoV2CaptchaError((_err$
|
|
577
|
+
throw new MeetingInfoV2CaptchaError((_err$body20 = err.body) === null || _err$body20 === void 0 ? void 0 : _err$body20.code, {
|
|
515
578
|
captchaId: err.body.captchaID,
|
|
516
579
|
verificationImageURL: err.body.verificationImageURL,
|
|
517
580
|
verificationAudioURL: err.body.verificationAudioURL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","WEBINAR_REGISTRATION_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","MeetingInfoV2WebinarRegistrationError","_Error5","_super5","_this5","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","WEBINAR_REGISTRATION_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeeting","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this6","getInvitees","wrap","_callee$","_context","prev","next","meetings","preferredWebexSite","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body11","_err$body12","handlePolicyError","handleWebinarRegistrationError","ADHOC_MEETING_FAILURE","reason","stop","createAdhocSpaceMeeting","_x","_x2","_fetchMeetingInfo","_callee2","_this7","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args2","_callee2$","_context2","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","_err$body13","_err$body14","_err$body14$data","VERIFY_PASSWORD_ERROR","_err$body15","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x3"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst WEBINAR_REGISTRATION_ERROR_CODES = [403021, 403022, 403024];\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar registration error\n */\nexport class MeetingInfoV2WebinarRegistrationError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2WebinarRegistrationError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleWebinarRegistrationError for webinar registration error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleWebinarRegistrationError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (WEBINAR_REGISTRATION_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.WEBINAR_REGISTRATION_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2WebinarRegistrationError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleWebinarRegistrationError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleWebinarRegistrationError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAuC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAqB,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAL,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAE,SAAA,gBAAAoB,2BAAA,CAAAf,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAS,OAAA,qBAAAF,kBAAA,oBAAAA,kBAAA,CAAAG,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,kBAAA,CAAAK,OAAA,8CAAApC,CAAA;AAEvC,IAAMwC,8BAA8B,GAClC,mEAAmE;AACrE,IAAMC,6BAA6B,GACjC,qEAAqE;AACvE,IAAMC,2BAA2B,GAC/B,iEAAiE;AACnE,IAAMC,qCAAqC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9D,IAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E,IAAMC,gCAAgC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AACjE;AACA;AACA;AAFA,IAGaC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,0BAAAE,MAAA;EAAA,IAAAC,UAAA,CAAAhC,OAAA,EAAA6B,0BAAA,EAAAE,MAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAAyB,0BAAA;EAMrC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,2BACEK,kBAA2B,EAC3BC,WAAoB,EAEpB;IAAA,IAAAC,KAAA;IAAA,IADAC,OAAe,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG4B,8BAA8B;IAAA,IAAAgB,gBAAA,CAAAvC,OAAA,QAAA6B,0BAAA;IAEhDO,KAAA,GAAAH,MAAA,CAAAX,IAAA,UAAAkB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAnC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoC,KAAA;IAAA,IAAArC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoC,KAAA;IAAA,IAAArC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoC,KAAA;IAAA,IAAArC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoC,KAAA;IAChDA,KAAA,CAAKM,IAAI,GAAG,4BAA4B;IACxCN,KAAA,CAAKO,UAAU,GAAGN,OAAO;IACzBD,KAAA,CAAKQ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BR,KAAA,CAAKU,aAAa,GAAGZ,kBAAkB;IACvCE,KAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,KAAA;EACjC;EAAC,WAAAW,aAAA,CAAA/C,OAAA,EAAA6B,0BAAA;AAAA,oBAAAmB,iBAAA,CAAAhD,OAAA,EAxB6C6C,KAAK;AA2BrD;AACA;AACA;AAFA,IAGaI,8BAA8B,GAAAnB,OAAA,CAAAmB,8BAAA,0BAAAC,OAAA;EAAA,IAAAlB,UAAA,CAAAhC,OAAA,EAAAiD,8BAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAA/C,YAAA,CAAA6C,8BAAA;EAGzC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,+BAAYf,kBAA2B,EAAiD;IAAA,IAAAkB,MAAA;IAAA,IAA/Cf,OAAe,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG8B,2BAA2B;IAAA,IAAAc,gBAAA,CAAAvC,OAAA,QAAAiD,8BAAA;IACpFG,MAAA,GAAAD,OAAA,CAAA7B,IAAA,UAAAkB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAnC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoD,MAAA;IAAA,IAAArD,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAoD,MAAA;IAChDA,MAAA,CAAKV,IAAI,GAAG,gCAAgC;IAC5CU,MAAA,CAAKT,UAAU,GAAGN,OAAO;IACzBe,MAAA,CAAKR,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BQ,MAAA,CAAKN,aAAa,GAAGZ,kBAAkB;IAAC,OAAAkB,MAAA;EAC1C;EAAC,WAAAL,aAAA,CAAA/C,OAAA,EAAAiD,8BAAA;AAAA,oBAAAD,iBAAA,CAAAhD,OAAA,EAfiD6C,KAAK;AAkBzD;AACA;AACA;AAFA,IAGaQ,wBAAwB,GAAAvB,OAAA,CAAAuB,wBAAA,0BAAAC,OAAA;EAAA,IAAAtB,UAAA,CAAAhC,OAAA,EAAAqD,wBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAnD,YAAA,CAAAiD,wBAAA;EAInC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,yBAAYnB,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAAmB,MAAA;IAAA,IAAAjB,gBAAA,CAAAvC,OAAA,QAAAqD,wBAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAAjC,IAAA,UAAAkB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAnC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAwD,MAAA;IAAA,IAAAzD,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAwD,MAAA;IAAA,IAAAzD,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAwD,MAAA;IAChDA,MAAA,CAAKd,IAAI,GAAG,gCAAgC;IAC5Cc,MAAA,CAAKb,UAAU,GAAGN,OAAO;IACzBmB,MAAA,CAAKZ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BY,MAAA,CAAKV,aAAa,GAAGZ,kBAAkB;IACvCsB,MAAA,CAAKrB,WAAW,GAAGA,WAAW;IAAC,OAAAqB,MAAA;EACjC;EAAC,WAAAT,aAAA,CAAA/C,OAAA,EAAAqD,wBAAA;AAAA,oBAAAL,iBAAA,CAAAhD,OAAA,EAlB2C6C,KAAK;AAqBnD;AACA;AACA;AAFA,IAGaY,yBAAyB,GAAA3B,OAAA,CAAA2B,yBAAA,0BAAAC,OAAA;EAAA,IAAA1B,UAAA,CAAAhC,OAAA,EAAAyD,yBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAvD,YAAA,CAAAqD,yBAAA;EAMpC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,0BACEvB,kBAA2B,EAC3B0B,WAAoB,EAEpB;IAAA,IAAAC,MAAA;IAAA,IADAxB,OAAe,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG6B,6BAA6B;IAAA,IAAAe,gBAAA,CAAAvC,OAAA,QAAAyD,yBAAA;IAE/CI,MAAA,GAAAF,OAAA,CAAArC,IAAA,UAAAkB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAnC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAA6D,MAAA;IAChDA,MAAA,CAAKnB,IAAI,GAAG,4BAA4B;IACxCmB,MAAA,CAAKlB,UAAU,GAAGN,OAAO;IACzBwB,MAAA,CAAKjB,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BiB,MAAA,CAAKf,aAAa,GAAGZ,kBAAkB;IACvC2B,MAAA,CAAKC,kBAAkB,GAAGpC,qCAAqC,CAACqC,QAAQ,CAAC7B,kBAAkB,CAAC;IAC5F2B,MAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,MAAA;EACjC;EAAC,WAAAd,aAAA,CAAA/C,OAAA,EAAAyD,yBAAA;AAAA,oBAAAT,iBAAA,CAAAhD,OAAA,EAzB4C6C,KAAK;AA4BpD;AACA;AACA;AAFA,IAGamB,qCAAqC,GAAAlC,OAAA,CAAAkC,qCAAA,0BAAAC,OAAA;EAAA,IAAAjC,UAAA,CAAAhC,OAAA,EAAAgE,qCAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAA9D,YAAA,CAAA4D,qCAAA;EAKhD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,sCAAY9B,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAA8B,MAAA;IAAA,IAAA5B,gBAAA,CAAAvC,OAAA,QAAAgE,qCAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAA5C,IAAA,UAAAkB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAnC,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAmE,MAAA;IAAA,IAAApE,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAmE,MAAA;IAAA,IAAApE,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAmE,MAAA;IAAA,IAAApE,gBAAA,CAAAC,OAAA,MAAAyC,uBAAA,CAAAzC,OAAA,EAAAmE,MAAA;IAChDA,MAAA,CAAKzB,IAAI,GAAG,uCAAuC;IACnDyB,MAAA,CAAKxB,UAAU,GAAGN,OAAO;IACzB8B,MAAA,CAAKvB,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BuB,MAAA,CAAKrB,aAAa,GAAGZ,kBAAkB;IACvCiC,MAAA,CAAKhC,WAAW,GAAGA,WAAW;IAAC,OAAAgC,MAAA;EACjC;EAAC,WAAApB,aAAA,CAAA/C,OAAA,EAAAgE,qCAAA;AAAA,oBAAAhB,iBAAA,CAAAhD,OAAA,EAnBwD6C,KAAK;AAsBhE;AACA;AACA;AAFA,IAGqBuB,aAAa,GAAAtC,OAAA,CAAA9B,OAAA;EAGhC;AACF;AACA;AACA;EACE,SAAAoE,cAAYC,KAAK,EAAE;IAAA,IAAA9B,gBAAA,CAAAvC,OAAA,QAAAoE,aAAA;IAAA,IAAArE,gBAAA,CAAAC,OAAA;IAoBnB;AACF;AACA;AACA;AACA;IAJE,IAAAD,gBAAA,CAAAC,OAAA,6BAKoB,UAACsE,GAAG,EAAK;MAAA,IAAAC,SAAA;MAC3B,IAAI,CAACD,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAI7C,kBAAkB,CAACoC,QAAQ,EAAAQ,SAAA,GAACD,GAAG,CAACE,IAAI,cAAAD,SAAA,uBAARA,SAAA,CAAUE,IAAI,CAAC,EAAE;QAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,UAAA;QAC/CC,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACC,yBAAyB,EAAE;UACzET,IAAI,GAAAC,UAAA,GAAEJ,GAAG,CAACE,IAAI,cAAAE,UAAA,uBAARA,UAAA,CAAUD;QAClB,CAAC,CAAC;QAEF,MAAM,IAAIpB,wBAAwB,EAAAsB,UAAA,GAChCL,GAAG,CAACE,IAAI,cAAAG,UAAA,uBAARA,UAAA,CAAUF,IAAI,GAAAG,UAAA,GACdN,GAAG,CAACE,IAAI,cAAAI,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUO,IAAI,cAAAN,eAAA,uBAAdA,eAAA,CAAgB1C,WAAW,GAAA2C,UAAA,GAC3BR,GAAG,CAACE,IAAI,cAAAM,UAAA,uBAARA,UAAA,CAAUzC,OACZ,CAAC;MACH;IACF,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE,IAAAtC,gBAAA,CAAAC,OAAA,0CAKiC,UAACsE,GAAG,EAAK;MAAA,IAAAc,UAAA;MACxC,IAAI,CAACd,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAI5C,gCAAgC,CAACmC,QAAQ,EAAAqB,UAAA,GAACd,GAAG,CAACE,IAAI,cAAAY,UAAA,uBAARA,UAAA,CAAUX,IAAI,CAAC,EAAE;QAAA,IAAAY,UAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,WAAA;QAC7DV,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACS,0BAA0B,EAAE;UAC1EjB,IAAI,GAAAY,UAAA,GAAEf,GAAG,CAACE,IAAI,cAAAa,UAAA,uBAARA,UAAA,CAAUZ;QAClB,CAAC,CAAC;QAEF,MAAM,IAAIT,qCAAqC,EAAAsB,UAAA,GAC7ChB,GAAG,CAACE,IAAI,cAAAc,UAAA,uBAARA,UAAA,CAAUb,IAAI,GAAAc,UAAA,GACdjB,GAAG,CAACE,IAAI,cAAAe,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUJ,IAAI,cAAAK,eAAA,uBAAdA,eAAA,CAAgBrD,WAAW,GAAAsD,WAAA,GAC3BnB,GAAG,CAACE,IAAI,cAAAiB,WAAA,uBAARA,WAAA,CAAUpD,OACZ,CAAC;MACH;IACF,CAAC;IA/DC,IAAI,CAACgC,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE,IAAAtB,aAAA,CAAA/C,OAAA,EAAAoE,aAAA;IAAAuB,GAAA;IAAAC,KAAA,EAQA,SAAAC,iBAAiBC,WAAmB,EAAuB;MAAA,IAArBC,IAAY,GAAApG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,IAAI;MACvD,OAAOqG,cAAe,CAACC,kBAAkB,CAAC;QACxCH,WAAW,EAAXA,WAAW;QACXC,IAAI,EAAJA,IAAI;QACJ1B,KAAK,EAAE,IAAI,CAACA;MACd,CAAC,CAAC;IACJ;EAAC;IAAAsB,GAAA;IAAAC,KAAA;IAgDD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE;MAAA,IAAAM,wBAAA,OAAAC,kBAAA,CAAAnG,OAAA,gBAAAoG,YAAA,CAAApG,OAAA,CAAAqG,IAAA,CAQA,SAAAC,QAA8BC,eAAuB,EAAEC,cAAuB;QAAA,IAAAC,MAAA;QAAA,IAAAC,WAAA;QAAA,OAAAN,YAAA,CAAApG,OAAA,CAAA2G,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,IACvE,IAAI,CAAC1C,KAAK,CAAC2C,QAAQ,CAACC,kBAAkB;gBAAAJ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MACnClE,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAExC6D,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAyB;gBAAA,IAArBQ,WAAW,GAAAvH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,EAAE;gBACnC,IAAMwH,QAAQ,GAAG,EAAE;gBAEnB,IAAID,WAAW,EAAE;kBACfA,WAAW,CAACpH,OAAO,CAAC,UAACsH,WAAW,EAAK;oBACnCD,QAAQ,CAAC3H,IAAI,CAAC;sBACZ6H,KAAK,EAAED,WAAW,CAACE,YAAY;sBAC/BC,UAAU,EAAEH,WAAW,CAACI;oBAC1B,CAAC,CAAC;kBACJ,CAAC,CAAC;gBACJ;gBAEA,OAAOL,QAAQ;cACjB,CAAC;cAAA,OAAAN,QAAA,CAAAY,MAAA,WAEM,IAAI,CAACpD,KAAK,CACdqD,OAAO,CAAC;gBAACC,GAAG,EAAEpB,eAAe;gBAAEqB,EAAE,EAAE;kBAACC,mBAAmB,EAAE;gBAAI,CAAC;gBAAEC,gBAAgB,EAAE;cAAI,CAAC,CAAC,CACxFC,IAAI,CAAC,UAAAC,IAAA,EAA0B;gBAAA,IAAAC,qBAAA;gBAAA,IAAlBC,YAAY,GAAAF,IAAA,CAAlBxD,IAAI;gBACV,IAAMA,IAAI,GAAG;kBACX2D,KAAK,EAAED,YAAY,CAACE,WAAW;kBAC/BC,QAAQ,EAAEH,YAAY,CAACI,GAAG;kBAC1BC,MAAM,EAAEL,YAAY,CAACM,gBAAgB;kBACrCC,MAAM,EAAEP,YAAY,CAACQ,oBAAoB;kBACzCvB,QAAQ,EAAET,WAAW,EAAAuB,qBAAA,GAACC,YAAY,CAACS,YAAY,cAAAV,qBAAA,uBAAzBA,qBAAA,CAA2BW,KAAK,CAAC;kBACvDpC,cAAc,EAAdA;gBACF,CAAC;gBAED,IAAIA,cAAc,EAAE;kBAClBhC,IAAI,CAACgC,cAAc,GAAGA,cAAc;gBACtC;gBAEA,IAAMmB,GAAG,GAAGlB,MAAI,CAACpC,KAAK,CAAC2C,QAAQ,CAACC,kBAAkB,cAAAzE,MAAA,CACnCiE,MAAI,CAACpC,KAAK,CAAC2C,QAAQ,CAACC,kBAAkB,2CACjD,EAAE;gBAEN,OAAOR,MAAI,CAACpC,KAAK,CAACqD,OAAO,CAAC;kBACxBmB,MAAM,EAAEC,qBAAU,CAACC,IAAI;kBACvBpB,GAAG,EAAHA,GAAG;kBACHnD,IAAI,EAAJA;gBACF,CAAC,CAAC;cACJ,CAAC,CAAC,CACDuD,IAAI,CAAC,UAACiB,aAAa,EAAK;gBACvBjE,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACgE,qBAAqB,CAAC;gBAEtE,OAAOD,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAAC5E,GAAG,EAAK;gBAAA,IAAA6E,WAAA,EAAAC,WAAA;gBACd3C,MAAI,CAAC4C,iBAAiB,CAAC/E,GAAG,CAAC;gBAC3BmC,MAAI,CAAC6C,8BAA8B,CAAChF,GAAG,CAAC;gBAExCS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACsE,qBAAqB,EAAE;kBACrEC,MAAM,EAAElF,GAAG,CAACjC,OAAO;kBACnBO,KAAK,EAAE0B,GAAG,CAAC1B;gBACb,CAAC,CAAC;gBACF,MAAM,IAAIK,8BAA8B,EAAAkG,WAAA,GAAC7E,GAAG,CAACE,IAAI,cAAA2E,WAAA,uBAARA,WAAA,CAAU1E,IAAI,GAAA2E,WAAA,GAAE9E,GAAG,CAACE,IAAI,cAAA4E,WAAA,uBAARA,WAAA,CAAU/G,OAAO,CAAC;cAC7E,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAwE,QAAA,CAAA4C,IAAA;UAAA;QAAA,GAAAnD,OAAA;MAAA,CACL;MAAA,SAAAoD,wBAAAC,EAAA,EAAAC,GAAA;QAAA,OAAA1D,wBAAA,CAAAzG,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA+J,uBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAfE;EAAA;IAAA/D,GAAA;IAAAC,KAAA;MAAA,IAAAiE,iBAAA,OAAA1D,kBAAA,CAAAnG,OAAA,gBAAAoG,YAAA,CAAApG,OAAA,CAAAqG,IAAA,CAgBA,SAAAyD,SACEhE,WAAmB;QAAA,IAAAiE,MAAA;QAAA,IAAAhE,IAAA;UAAAiE,QAAA;UAAApG,WAAA;UAAA4C,cAAA;UAAAyD,OAAA;UAAAC,WAAA;UAAAC,OAAA;UAAAC,SAAA;UAAAC,YAAA;UAAAC,eAAA;UAAA9F,IAAA;UAAA+F,qBAAA;UAAAC,sBAAA;UAAAlG,GAAA;UAAAmG,cAAA;UAAAC,SAAA;UAAAC,MAAA,GAAAhL,SAAA;QAAA,OAAAyG,YAAA,CAAApG,OAAA,CAAA2G,IAAA,UAAAiE,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA/D,IAAA,GAAA+D,SAAA,CAAA9D,IAAA;YAAA;cACnBhB,IAAsB,GAAA4E,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,IAAI;cAC7BX,QAAgB,GAAAW,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,IAAI;cACvB/G,WAGC,GAAA+G,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,IAAI;cACRnE,cAAc,GAAAmE,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,IAAI;cACrBV,OAAO,GAAAU,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,IAAI;cACdT,WAAmB,GAAAS,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,CAAC,CAAC;cACxBR,OAAqD,GAAAQ,MAAA,CAAA/K,MAAA,QAAA+K,MAAA,QAAArI,SAAA,GAAAqI,MAAA,MAAG,CAAC,CAAC;cAEnDP,SAAS,GAAkBD,OAAO,CAAlCC,SAAS,EAAEC,YAAY,GAAIF,OAAO,CAAvBE,YAAY;cAAAQ,SAAA,CAAA9D,IAAA;cAAA,OAEAf,cAAe,CAACC,kBAAkB,CAAC;gBAC/DH,WAAW,EAAXA,WAAW;gBACXC,IAAI,EAAJA,IAAI;gBACJ1B,KAAK,EAAE,IAAI,CAACA;cACd,CAAC,CAAC;YAAA;cAJIiG,eAAe,GAAAO,SAAA,CAAAC,IAAA;cAAA,MAOnBR,eAAe,CAACvE,IAAI,KAAKgF,2BAAgB,CAACC,gBAAgB,IAC1D,IAAI,CAAC3G,KAAK,CAAC4G,MAAM,CAACjE,QAAQ,CAACkE,YAAY,CAACC,mBAAmB,IAC3D,IAAI,CAAC9G,KAAK,CAAC2C,QAAQ,CAACC,kBAAkB;gBAAA4D,SAAA,CAAA9D,IAAA;gBAAA;cAAA;cAAA,OAAA8D,SAAA,CAAApD,MAAA,WAE/B,IAAI,CAACiC,uBAAuB,CAACY,eAAe,CAACxE,WAAW,EAAEU,cAAc,CAAC;YAAA;cAAAqE,SAAA,CAAA9D,IAAA;cAAA,OAG/Df,cAAe,CAACoF,cAAc,CAAA1L,aAAA,CAAAA,aAAA,KAC5C4K,eAAe;gBAClBN,QAAQ,EAARA,QAAQ;gBACRpG,WAAW,EAAXA,WAAW;gBACX4C,cAAc,EAAdA,cAAc;gBACdyD,OAAO,EAAPA,OAAO;gBACPC,WAAW,EAAXA;cAAW,EACZ,CAAC;YAAA;cAPI1F,IAAI,GAAAqG,SAAA,CAAAC,IAAA;cAAA,IAYPO,eAAM,CAACC,UAAU,CAAC,IAAAC,KAAA,CAAAvL,OAAA,EAAYwE,IAAI,CAAC,EAAE,IAAA+G,KAAA,CAAAvL,OAAA,EAAYwL,4CAAiC,CAAC,CAAC,CAAC5L,MAAM;gBAAAiL,SAAA,CAAA9D,IAAA;gBAAA;cAAA;cAEtFzC,GAAG,GAAG,IAAIzB,KAAK,CAAC,8CAA8C,CAAC;cACrEkC,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACwG,6BAA6B,EAAE;gBAC7EjC,MAAM,EAAElF,GAAG,CAACjC,OAAO;gBACnBiI,eAAe,EAAEA,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEvE,IAAI;gBACtC2F,cAAc,EAAEpB,eAAe,aAAfA,eAAe,wBAAAC,qBAAA,GAAfD,eAAe,CAAEqB,IAAI,cAAApB,qBAAA,uBAArBA,qBAAA,CAAuBmB,cAAc;gBACrDE,MAAM,EAAEtB,eAAe,aAAfA,eAAe,wBAAAE,sBAAA,GAAfF,eAAe,CAAEqB,IAAI,cAAAnB,sBAAA,uBAArBA,sBAAA,CAAuBoB;cACjC,CAAC,CAAC;cAAC,MAEGtH,GAAG;YAAA;cAGLmG,cAAmB,GAAG;gBAC1B5B,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBvE,IAAI,EAAJA;cACF,CAAC;cAAAqG,SAAA,CAAA9D,IAAA;cAAA,OAEuBf,cAAe,CAAC6F,uBAAuB,CAACvB,eAAe,CAAC;YAAA;cAA1EI,SAAS,GAAAG,SAAA,CAAAC,IAAA;cAEf,IAAIJ,SAAS,EAAE;gBACbD,cAAc,CAAC9C,GAAG,GAAG+C,SAAS;cAChC,CAAC,MAAM;gBACLD,cAAc,CAACqB,OAAO,GAAGC,4BAAiB;gBAC1CtB,cAAc,CAACuB,QAAQ,GAAG,aAAa;cACzC;cAEA,IAAI5B,SAAS,IAAIC,YAAY,EAAE;gBAC7B,IAAI,CAAChG,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;kBACjDzJ,IAAI,EAAE;gBACR,CAAC,CAAC;gBAEF,IAAI,CAAC2B,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;kBAC/C1J,IAAI,EAAE,4BAA4B;kBAClCyH,OAAO,EAAE;oBACPC,SAAS,EAATA;kBACF;gBACF,CAAC,CAAC;cACJ;cAAC,OAAAS,SAAA,CAAApD,MAAA,WAEM,IAAI,CAACpD,KAAK,CACdqD,OAAO,CAAC+C,cAAc,CAAC,CACvB1C,IAAI,CAAC,UAACsE,QAAQ,EAAK;gBAClB,IAAIjC,SAAS,IAAIC,YAAY,EAAE;kBAAA,IAAAiC,cAAA,EAAAC,eAAA,EAAAC,eAAA;kBAC7BzC,MAAI,CAAC1F,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjDzJ,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEFqH,MAAI,CAAC1F,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/C1J,IAAI,EAAE,6BAA6B;oBACnC+J,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAEN,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/D;sBAC9B;oBACF,CAAC;oBACD6B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACTwC,oBAAoB,EAAE,CAAAP,QAAQ,aAARA,QAAQ,wBAAAC,cAAA,GAARD,QAAQ,CAAE7H,IAAI,cAAA8H,cAAA,uBAAdA,cAAA,CAAgBO,SAAS,MAAIR,QAAQ,aAARA,QAAQ,wBAAAE,eAAA,GAARF,QAAQ,CAAE7H,IAAI,cAAA+H,eAAA,uBAAdA,eAAA,CAAgBO,MAAM;sBACzEC,eAAe,EAAEV,QAAQ,aAARA,QAAQ,wBAAAG,eAAA,GAARH,QAAQ,CAAE7H,IAAI,cAAAgI,eAAA,uBAAdA,eAAA,CAAgBpC;oBACnC;kBACF,CAAC,CAAC;gBACJ;gBACArF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+H,6BAA6B,CAAC;gBAE9E,OAAOX,QAAQ;cACjB,CAAC,CAAC,CACDnD,KAAK,CAAC,UAAC5E,GAAG,EAAK;gBACd,IAAI8F,SAAS,IAAIC,YAAY,EAAE;kBAC7BN,MAAI,CAAC1F,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjDzJ,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEFqH,MAAI,CAAC1F,KAAK,CAAC4H,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/C1J,IAAI,EAAE,6BAA6B;oBACnC+J,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAErI,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEgE;sBACzB;oBACF,CAAC;oBACD6B,OAAO,EAAE;sBACPC,SAAS,EAATA,SAAS;sBACT6C,QAAQ,EAAE3I;oBACZ;kBACF,CAAC,CAAC;gBACJ;gBAEA,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE4I,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAC,WAAA,EAAAC,WAAA,EAAAC,gBAAA;kBAC3BtD,MAAI,CAACV,iBAAiB,CAAC/E,GAAG,CAAC;kBAC3ByF,MAAI,CAACT,8BAA8B,CAAChF,GAAG,CAAC;kBAExCS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACqI,qBAAqB,EAAE;oBACrE9D,MAAM,EAAElF,GAAG,CAACjC,OAAO;oBACnBO,KAAK,EAAE0B,GAAG,CAAC1B;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIf,0BAA0B,EAAAsL,WAAA,GAAC7I,GAAG,CAACE,IAAI,cAAA2I,WAAA,uBAARA,WAAA,CAAU1I,IAAI,GAAA2I,WAAA,GAAE9I,GAAG,CAACE,IAAI,cAAA4I,WAAA,wBAAAC,gBAAA,GAARD,WAAA,CAAUjI,IAAI,cAAAkI,gBAAA,uBAAdA,gBAAA,CAAgBlL,WAAW,CAAC;gBACnF;gBACA,IAAI,CAAAmC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE4I,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAK,WAAA;kBAC3BxI,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACuI,oBAAoB,EAAE;oBACpEhE,MAAM,EAAElF,GAAG,CAACjC,OAAO;oBACnBO,KAAK,EAAE0B,GAAG,CAAC1B;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIa,yBAAyB,EAAA8J,WAAA,GAACjJ,GAAG,CAACE,IAAI,cAAA+I,WAAA,uBAARA,WAAA,CAAU9I,IAAI,EAAE;oBAClDgJ,SAAS,EAAEnJ,GAAG,CAACE,IAAI,CAACkJ,SAAS;oBAC7BC,oBAAoB,EAAErJ,GAAG,CAACE,IAAI,CAACmJ,oBAAoB;oBACnDC,oBAAoB,EAAEtJ,GAAG,CAACE,IAAI,CAACoJ,oBAAoB;oBACnDC,UAAU,EAAEvJ,GAAG,CAACE,IAAI,CAACqJ;kBACvB,CAAC,CAAC;gBACJ;gBAEA9I,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACwG,6BAA6B,EAAE;kBAC7EjC,MAAM,EAAElF,GAAG,CAACjC,OAAO;kBACnBO,KAAK,EAAE0B,GAAG,CAAC1B;gBACb,CAAC,CAAC;gBACF,MAAM0B,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAuG,SAAA,CAAApB,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACL;MAAA,SAAAgE,iBAAAC,GAAA;QAAA,OAAAlE,iBAAA,CAAApK,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAmO,gBAAA;IAAA;EAAA;EAAA,OAAA1J,aAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeeting","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this7","getInvitees","wrap","_callee$","_context","prev","next","meetings","preferredWebexSite","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","method","HTTP_VERBS","POST","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","stop","createAdhocSpaceMeeting","_x","_x2","_fetchMeetingInfo","_callee2","_this8","password","locusId","extraParams","options","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args2","_callee2$","_context2","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","statusCode","_err$body18","_err$body19","_err$body19$data","VERIFY_PASSWORD_ERROR","_err$body20","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x3"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
|
|
|
64
64
|
var parsedUrl = this.getParsedUrl(value);
|
|
65
65
|
if (parsedUrl) {
|
|
66
66
|
hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(_constants.WEBEX_DOT_COM);
|
|
67
|
-
pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CISCO)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CO)) || parsedUrl.pathname.includes("/".concat(_constants.JOIN)));
|
|
67
|
+
pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CISCO)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_CO)) || parsedUrl.pathname.includes("/".concat(_constants.JOIN)) || parsedUrl.search && parsedUrl.search.includes(_constants.JOIN_LINK_MTID));
|
|
68
68
|
}
|
|
69
69
|
return hostNameBool && pathNameBool;
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} =\n options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","search","JOIN_LINK_MTID","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n JOIN_LINK_MTID,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`) ||\n (parsedUrl.search && parsedUrl.search.includes(JOIN_LINK_MTID)));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} =\n options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
|