@webex/calling 3.10.0-next.8 → 3.10.0-wxc-disconnect.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallHistory/CallHistory.js +41 -42
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +5 -120
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +6 -6
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +1 -2
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +43 -38
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +1 -4
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +207 -161
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +290 -152
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +53 -50
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +51 -93
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +1 -1
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +4 -5
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +3 -3
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +45 -39
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +3 -4
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Events/impl/index.js +1 -1
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Logger/index.js +3 -3
- package/dist/Logger/index.js.map +1 -1
- package/dist/Logger/index.test.js +1 -1
- package/dist/Logger/index.test.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +54 -47
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +2 -10
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +32 -29
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +102 -77
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +59 -46
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +18 -44
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/common/Utils.js +2 -2
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +8 -4
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/testUtil.js +1 -2
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +11 -20
- package/dist/module/CallSettings/UcmBackendConnector.js +2 -1
- package/dist/module/CallSettings/WxCallBackendConnector.js +15 -10
- package/dist/module/CallingClient/CallingClient.js +123 -83
- package/dist/module/CallingClient/calling/call.js +23 -17
- package/dist/module/CallingClient/registration/register.js +3 -3
- package/dist/module/CallingClient/registration/webWorker.js +2 -2
- package/dist/module/CallingClient/registration/webWorkerStr.js +2 -2
- package/dist/module/Contacts/ContactsClient.js +25 -19
- package/dist/module/Events/impl/index.js +1 -1
- package/dist/module/Logger/index.js +2 -2
- package/dist/module/Voicemail/BroadworksBackendConnector.js +18 -10
- package/dist/module/Voicemail/UcmBackendConnector.js +11 -7
- package/dist/module/Voicemail/Voicemail.js +68 -42
- package/dist/module/Voicemail/WxCallBackendConnector.js +28 -14
- package/dist/module/common/Utils.js +2 -2
- package/dist/module/common/testUtil.js +0 -1
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts +0 -1
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Logger/index.d.ts +2 -1
- package/dist/types/Logger/index.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +0 -10
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +0 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -53,7 +53,6 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
53
53
|
* @ignore
|
|
54
54
|
*/
|
|
55
55
|
function CallHistory(webex, logger) {
|
|
56
|
-
var _this$webex$internal$;
|
|
57
56
|
var _this;
|
|
58
57
|
(0, _classCallCheck2.default)(this, CallHistory);
|
|
59
58
|
_this = _super.call(this);
|
|
@@ -125,7 +124,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
125
124
|
_SDKConnector.default.setWebex(webex);
|
|
126
125
|
}
|
|
127
126
|
_this.webex = _this.sdkConnector.getWebex();
|
|
128
|
-
_this.janusUrl =
|
|
127
|
+
_this.janusUrl = _this.webex.internal.services._serviceUrls.janus;
|
|
129
128
|
_this.registerSessionsListener();
|
|
130
129
|
_Logger.default.setLogger(logger.level, _constants.CALL_HISTORY_FILE);
|
|
131
130
|
return _this;
|
|
@@ -147,18 +146,18 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
147
146
|
sort,
|
|
148
147
|
sortBy,
|
|
149
148
|
date,
|
|
150
|
-
callingBackend,
|
|
151
149
|
sortByParam,
|
|
152
150
|
sortParam,
|
|
153
|
-
sharedSessionsParam,
|
|
154
151
|
url,
|
|
155
152
|
_janusResponse$header,
|
|
156
153
|
janusResponse,
|
|
154
|
+
callingBackend,
|
|
157
155
|
hasCucmDN,
|
|
158
156
|
_ucmLinesResponse$dat,
|
|
159
157
|
ucmLinesResponse,
|
|
160
158
|
ucmLinesData,
|
|
161
159
|
responseDetails,
|
|
160
|
+
extendedError,
|
|
162
161
|
errorInfo,
|
|
163
162
|
errorStatus,
|
|
164
163
|
_args4 = arguments;
|
|
@@ -174,7 +173,6 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
174
173
|
2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date
|
|
175
174
|
*/
|
|
176
175
|
date = new Date();
|
|
177
|
-
callingBackend = (0, _Utils.getCallingBackEnd)(this.webex);
|
|
178
176
|
date.setDate(date.getDate() - days);
|
|
179
177
|
this.fromDate = date.toISOString();
|
|
180
178
|
sortByParam = (0, _values.default)(_types.SORT_BY).includes(sortBy) ? sortBy : _types.SORT_BY.DEFAULT;
|
|
@@ -182,19 +180,15 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
182
180
|
_Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with days=").concat(days, ", limit=").concat(limit, ", sort=").concat(sortParam, ", sortBy=").concat(sortByParam), this.loggerContext);
|
|
183
181
|
_Logger.default.info("Janus API URL: ".concat(this.janusUrl), this.loggerContext);
|
|
184
182
|
_Logger.default.info("Call history from date : ".concat(this.fromDate), this.loggerContext);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
_Logger.default.info("Fetching call history for ".concat(callingBackend, " backend").concat(callingBackend === _types.CALLING_BACKEND.WXC ? ' with shared sessions' : ''), this.loggerContext);
|
|
189
|
-
url = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS).concat(_constants.FROM_DATE, "=").concat(this.fromDate, "&limit=").concat(limit, "&includeNewSessionTypes=true&sort=").concat(sortParam).concat(sharedSessionsParam);
|
|
190
|
-
_context4.prev = 16;
|
|
191
|
-
_context4.next = 19;
|
|
183
|
+
url = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS).concat(_constants.FROM_DATE, "=").concat(this.fromDate, "&limit=").concat(limit, "&includeNewSessionTypes=true&sort=").concat(sortParam);
|
|
184
|
+
_context4.prev = 13;
|
|
185
|
+
_context4.next = 16;
|
|
192
186
|
return this.webex.request({
|
|
193
187
|
uri: "".concat(url),
|
|
194
188
|
method: _types.HTTP_METHODS.GET,
|
|
195
189
|
service: _types.ALLOWED_SERVICES.JANUS
|
|
196
190
|
});
|
|
197
|
-
case
|
|
191
|
+
case 16:
|
|
198
192
|
janusResponse = _context4.sent;
|
|
199
193
|
_Logger.default.log("Response trackingId: ".concat(janusResponse === null || janusResponse === void 0 ? void 0 : (_janusResponse$header = janusResponse.headers) === null || _janusResponse$header === void 0 ? void 0 : _janusResponse$header.trackingid), this.loggerContext);
|
|
200
194
|
this.userSessions = janusResponse.body;
|
|
@@ -210,12 +204,13 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
210
204
|
}
|
|
211
205
|
}
|
|
212
206
|
// Check the calling backend
|
|
207
|
+
callingBackend = (0, _Utils.getCallingBackEnd)(this.webex);
|
|
213
208
|
if (!(callingBackend === _types.CALLING_BACKEND.UCM)) {
|
|
214
|
-
_context4.next =
|
|
209
|
+
_context4.next = 29;
|
|
215
210
|
break;
|
|
216
211
|
}
|
|
217
212
|
if (!(this.userSessions[_constants2.USER_SESSIONS] && this.userSessions[_constants2.USER_SESSIONS].length > 0)) {
|
|
218
|
-
_context4.next =
|
|
213
|
+
_context4.next = 29;
|
|
219
214
|
break;
|
|
220
215
|
}
|
|
221
216
|
// Check if cucmDN exists and is valid in any of the userSessions
|
|
@@ -223,12 +218,12 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
223
218
|
return session.self.cucmDN && session.self.cucmDN.length > 0;
|
|
224
219
|
}); // If any user session has cucmDN, proceed to fetch line data
|
|
225
220
|
if (!hasCucmDN) {
|
|
226
|
-
_context4.next =
|
|
221
|
+
_context4.next = 29;
|
|
227
222
|
break;
|
|
228
223
|
}
|
|
229
|
-
_context4.next =
|
|
224
|
+
_context4.next = 27;
|
|
230
225
|
return this.fetchUCMLinesData();
|
|
231
|
-
case
|
|
226
|
+
case 27:
|
|
232
227
|
ucmLinesResponse = _context4.sent;
|
|
233
228
|
// Check if the Lines API response was successful
|
|
234
229
|
if (ucmLinesResponse.statusCode === 200 && (_ucmLinesResponse$dat = ucmLinesResponse.data.lines) !== null && _ucmLinesResponse$dat !== void 0 && _ucmLinesResponse$dat.devices) {
|
|
@@ -246,7 +241,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
246
241
|
}
|
|
247
242
|
});
|
|
248
243
|
}
|
|
249
|
-
case
|
|
244
|
+
case 29:
|
|
250
245
|
responseDetails = {
|
|
251
246
|
statusCode: this.userSessions[_constants2.STATUS_CODE],
|
|
252
247
|
data: {
|
|
@@ -256,24 +251,25 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
256
251
|
};
|
|
257
252
|
_Logger.default.log("Successfully retrieved call history data with ".concat(this.userSessions[_constants2.USER_SESSIONS].length, " records"), this.loggerContext);
|
|
258
253
|
return _context4.abrupt("return", responseDetails);
|
|
259
|
-
case
|
|
260
|
-
_context4.prev =
|
|
261
|
-
_context4.t0 = _context4["catch"](
|
|
262
|
-
|
|
254
|
+
case 34:
|
|
255
|
+
_context4.prev = 34;
|
|
256
|
+
_context4.t0 = _context4["catch"](13);
|
|
257
|
+
extendedError = new Error("Failed to get call history: ".concat(_context4.t0));
|
|
258
|
+
_Logger.default.error(extendedError, {
|
|
263
259
|
file: _constants.CALL_HISTORY_FILE,
|
|
264
260
|
method: _constants.METHODS.GET_CALL_HISTORY_DATA
|
|
265
261
|
});
|
|
266
|
-
_context4.next =
|
|
262
|
+
_context4.next = 40;
|
|
267
263
|
return (0, _Utils.uploadLogs)();
|
|
268
|
-
case
|
|
264
|
+
case 40:
|
|
269
265
|
errorInfo = _context4.t0;
|
|
270
266
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, this.loggerContext);
|
|
271
267
|
return _context4.abrupt("return", errorStatus);
|
|
272
|
-
case
|
|
268
|
+
case 43:
|
|
273
269
|
case "end":
|
|
274
270
|
return _context4.stop();
|
|
275
271
|
}
|
|
276
|
-
}, _callee4, this, [[
|
|
272
|
+
}, _callee4, this, [[13, 34]]);
|
|
277
273
|
}));
|
|
278
274
|
function getCallHistoryData() {
|
|
279
275
|
return _getCallHistoryData.apply(this, arguments);
|
|
@@ -290,7 +286,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
290
286
|
key: "updateMissedCalls",
|
|
291
287
|
value: (function () {
|
|
292
288
|
var _updateMissedCalls = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(endTimeSessionIds) {
|
|
293
|
-
var loggerContext, santizedSessionIds, requestBody, _response$headers, updateMissedCallContentUrl, response, data, responseDetails, errorInfo, errorStatus;
|
|
289
|
+
var loggerContext, santizedSessionIds, requestBody, _response$headers, updateMissedCallContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
|
|
294
290
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
295
291
|
while (1) switch (_context5.prev = _context5.next) {
|
|
296
292
|
case 0:
|
|
@@ -353,20 +349,21 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
353
349
|
case 32:
|
|
354
350
|
_context5.prev = 32;
|
|
355
351
|
_context5.t9 = _context5["catch"](4);
|
|
356
|
-
|
|
352
|
+
extendedError = new Error("Failed to update missed calls: ".concat(_context5.t9));
|
|
353
|
+
_Logger.default.error(extendedError, {
|
|
357
354
|
file: _constants.CALL_HISTORY_FILE,
|
|
358
355
|
method: _constants.METHODS.UPDATE_MISSED_CALLS
|
|
359
356
|
});
|
|
360
|
-
_context5.next =
|
|
357
|
+
_context5.next = 38;
|
|
361
358
|
return (0, _Utils.uploadLogs)();
|
|
362
|
-
case
|
|
359
|
+
case 38:
|
|
363
360
|
// Catch the 401 error from try block, return the error object to user
|
|
364
361
|
errorInfo = {
|
|
365
362
|
statusCode: _context5.t9 instanceof Error ? Number(_context5.t9.message) : ''
|
|
366
363
|
};
|
|
367
364
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
368
365
|
return _context5.abrupt("return", errorStatus);
|
|
369
|
-
case
|
|
366
|
+
case 41:
|
|
370
367
|
case "end":
|
|
371
368
|
return _context5.stop();
|
|
372
369
|
}
|
|
@@ -386,7 +383,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
386
383
|
key: "fetchUCMLinesData",
|
|
387
384
|
value: (function () {
|
|
388
385
|
var _fetchUCMLinesData = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
389
|
-
var loggerContext, vgEndpoint, userId, orgId, linesURIForUCM, _response$headers2, response, ucmLineDetails, errorInfo, errorStatus;
|
|
386
|
+
var loggerContext, vgEndpoint, userId, orgId, linesURIForUCM, _response$headers2, response, ucmLineDetails, extendedError, errorInfo, errorStatus;
|
|
390
387
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
391
388
|
while (1) switch (_context6.prev = _context6.next) {
|
|
392
389
|
case 0:
|
|
@@ -420,17 +417,18 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
420
417
|
case 16:
|
|
421
418
|
_context6.prev = 16;
|
|
422
419
|
_context6.t0 = _context6["catch"](6);
|
|
423
|
-
|
|
420
|
+
extendedError = new Error("Failed to fetch UCM lines data: ".concat(_context6.t0));
|
|
421
|
+
_Logger.default.error(extendedError, {
|
|
424
422
|
file: _constants.CALL_HISTORY_FILE,
|
|
425
423
|
method: _constants.METHODS.FETCH_UCM_LINES_DATA
|
|
426
424
|
});
|
|
427
|
-
_context6.next =
|
|
425
|
+
_context6.next = 22;
|
|
428
426
|
return (0, _Utils.uploadLogs)();
|
|
429
|
-
case
|
|
427
|
+
case 22:
|
|
430
428
|
errorInfo = _context6.t0;
|
|
431
429
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
432
430
|
return _context6.abrupt("return", errorStatus);
|
|
433
|
-
case
|
|
431
|
+
case 25:
|
|
434
432
|
case "end":
|
|
435
433
|
return _context6.stop();
|
|
436
434
|
}
|
|
@@ -451,7 +449,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
451
449
|
key: "deleteCallHistoryRecords",
|
|
452
450
|
value: (function () {
|
|
453
451
|
var _deleteCallHistoryRecords = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(deleteSessionIds) {
|
|
454
|
-
var loggerContext, invalidSessions, invalidSessionIds, santizedSessionIds, deleteRequestBody, _response$headers3, deleteCallHistoryRecordContentUrl, response, data, responseDetails, errorInfo, errorStatus;
|
|
452
|
+
var loggerContext, invalidSessions, invalidSessionIds, santizedSessionIds, deleteRequestBody, _response$headers3, deleteCallHistoryRecordContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
|
|
455
453
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
456
454
|
while (1) switch (_context7.prev = _context7.next) {
|
|
457
455
|
case 0:
|
|
@@ -534,20 +532,21 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
534
532
|
case 36:
|
|
535
533
|
_context7.prev = 36;
|
|
536
534
|
_context7.t9 = _context7["catch"](9);
|
|
537
|
-
|
|
535
|
+
extendedError = new Error("Failed to delete call history records: ".concat(_context7.t9));
|
|
536
|
+
_Logger.default.error(extendedError, {
|
|
538
537
|
file: _constants.CALL_HISTORY_FILE,
|
|
539
538
|
method: _constants.METHODS.DELETE_CALL_HISTORY_RECORDS
|
|
540
539
|
});
|
|
541
|
-
_context7.next =
|
|
540
|
+
_context7.next = 42;
|
|
542
541
|
return (0, _Utils.uploadLogs)();
|
|
543
|
-
case
|
|
542
|
+
case 42:
|
|
544
543
|
// Catch the 401 error from try block, return the error object to user
|
|
545
544
|
errorInfo = {
|
|
546
545
|
statusCode: _context7.t9 instanceof Error ? Number(_context7.t9.message) : ''
|
|
547
546
|
};
|
|
548
547
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
549
548
|
return _context7.abrupt("return", errorStatus);
|
|
550
|
-
case
|
|
549
|
+
case 45:
|
|
551
550
|
case "end":
|
|
552
551
|
return _context7.stop();
|
|
553
552
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","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","_createSuper","_isNativeReflectConstruct","_getPrototypeOf2","s","constructor","_Reflect$construct","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","CallHistory","exports","_Eventing","_inherits2","_super","webex","logger","_this$webex$internal$","_this","_classCallCheck2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","METHODS","GET_CALL_HISTORY_DATA","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","data","userSessions","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","stop","_x","_ref2","_callee2","_callee2$","_context2","userReadSessions","CALL_HISTORY_USER_VIEWED_SESSIONS","_x2","_ref3","_callee3","_callee3$","_context3","deletedSessions","CALL_HISTORY_USER_SESSIONS_DELETED","_x3","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","get","_activeServices","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_callee4","days","limit","sort","sortBy","date","callingBackend","sortByParam","sortParam","sharedSessionsParam","url","_janusResponse$header","janusResponse","hasCucmDN","_ucmLinesResponse$dat","ucmLinesResponse","ucmLinesData","responseDetails","errorInfo","errorStatus","_args4","_callee4$","_context4","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","getCallingBackEnd","setDate","getDate","fromDate","toISOString","_values","includes","info","concat","METHOD_START_MESSAGE","loggerContext","CALLING_BACKEND","WXC","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","headers","trackingid","body","START_TIME","DESC","element","compareElement","getTime","ASC","UCM","some","session","self","cucmDN","fetchUCMLinesData","statusCode","lines","devices","device","line","dnorpattern","ucmLineNumber","index","STATUS_CODE","message","SUCCESS_MESSAGE","abrupt","t0","error","_stringify","uploadLogs","serviceErrorCodeHandler","getCallHistoryData","_updateMissedCalls","_callee5","endTimeSessionIds","santizedSessionIds","requestBody","_response$headers","updateMissedCallContentUrl","response","_callee5$","_context5","UPDATE_MISSED_CALLS","map","endTime","UPDATE_MISSED_CALLS_ENDPOINT","fetch","t1","t2","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","t8","ok","Error","status","json","readStatusMessage","SET_READ_STATE_SUCCESS_MESSAGE","t9","Number","updateMissedCalls","_x4","_fetchUCMLinesData","_callee6","vgEndpoint","userId","orgId","linesURIForUCM","_response$headers2","ucmLineDetails","_callee6$","_context6","FETCH_UCM_LINES_DATA","getVgActionEndpoint","VERSION_1","UNIFIED_COMMUNICATIONS","CONFIG","PEOPLE","LINES","ORG_ID","_deleteCallHistoryRecords","_callee7","deleteSessionIds","invalidSessions","invalidSessionIds","deleteRequestBody","_response$headers3","deleteCallHistoryRecordContentUrl","_callee7$","_context7","DELETE_CALL_HISTORY_RECORDS","_isNan","sessionId","join","deleteStatusMessage","SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE","FAILURE_MESSAGE","DELETE_CALL_HISTORY_RECORDS_ENDPOINT","SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE","deleteCallHistoryRecords","_x5","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","handleSessionEvents","CALL_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_VIEWED","handleUserReadSessionEvents","CALL_SESSION_EVENT_DELETED","handleUserSessionsDeletedEvents","Eventing","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ALLOWED_SERVICES,\n HTTP_METHODS,\n WebexRequestPayload,\n SORT,\n SORT_BY,\n CALLING_BACKEND,\n} from '../common/types';\nimport {\n ICallHistory,\n JanusResponseEvent,\n LoggerInterface,\n UpdateMissedCallsResponse,\n UCMLinesResponse,\n DeleteCallHistoryRecordsResponse,\n} from './types';\nimport log from '../Logger';\nimport {\n serviceErrorCodeHandler,\n getVgActionEndpoint,\n getCallingBackEnd,\n uploadLogs,\n} from '../common/Utils';\nimport {\n APPLICATION_JSON,\n CALL_HISTORY_FILE,\n CONTENT_TYPE,\n FROM_DATE,\n HISTORY,\n LIMIT,\n NUMBER_OF_DAYS,\n UPDATE_MISSED_CALLS_ENDPOINT,\n SET_READ_STATE_SUCCESS_MESSAGE,\n VERSION_1,\n UNIFIED_COMMUNICATIONS,\n CONFIG,\n PEOPLE,\n LINES,\n ORG_ID,\n DELETE_CALL_HISTORY_RECORDS_ENDPOINT,\n SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n METHODS,\n} from './constants';\nimport {\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n USER_SESSIONS,\n} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n EndTimeSessionId,\n CallSessionViewedEvent,\n SanitizedEndTimeAndSessionId,\n UCMLinesApiResponse,\n CallSessionDeletedEvent,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * @example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl =\n this.webex.internal.services._serviceUrls?.janus ||\n this.webex.internal.services.get(this.webex.internal.services._activeServices.janus);\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n const callingBackend = getCallingBackEnd(this.webex);\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.info(\n `${METHOD_START_MESSAGE} with days=${days}, limit=${limit}, sort=${sortParam}, sortBy=${sortByParam}`,\n this.loggerContext\n );\n\n log.info(`Janus API URL: ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n\n // Add includeSharedSessions=true parameter for WXC backend to fetch calls with sessionType \"WEBEXCALLING_SHARED\"\n const sharedSessionsParam =\n callingBackend === CALLING_BACKEND.WXC ? '&includeSharedSessions=true' : '';\n log.info(\n `Fetching call history for ${callingBackend} backend${\n callingBackend === CALLING_BACKEND.WXC ? ' with shared sessions' : ''\n }`,\n this.loggerContext\n );\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}${sharedSessionsParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n log.log(`Response trackingId: ${janusResponse?.headers?.trackingid}`, this.loggerContext);\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n // Check the calling backend\n if (callingBackend === CALLING_BACKEND.UCM) {\n // Check if userSessions exist and the length is greater than 0\n if (this.userSessions[USER_SESSIONS] && this.userSessions[USER_SESSIONS].length > 0) {\n // Check if cucmDN exists and is valid in any of the userSessions\n const hasCucmDN = this.userSessions[USER_SESSIONS].some(\n (session: UserSession) => session.self.cucmDN && session.self.cucmDN.length > 0\n );\n // If any user session has cucmDN, proceed to fetch line data\n if (hasCucmDN) {\n // Fetch the Lines data\n const ucmLinesResponse = await this.fetchUCMLinesData();\n\n // Check if the Lines API response was successful\n if (ucmLinesResponse.statusCode === 200 && ucmLinesResponse.data.lines?.devices) {\n const ucmLinesData = ucmLinesResponse.data.lines.devices;\n\n // Iterate over user sessions and match with Lines data\n this.userSessions[USER_SESSIONS].forEach((session: UserSession) => {\n const cucmDN = session.self.cucmDN;\n\n if (cucmDN) {\n ucmLinesData.forEach((device) => {\n device.lines.forEach((line) => {\n if (line.dnorpattern === cucmDN) {\n session.self.ucmLineNumber = line.index; // Assign the ucmLineNumber\n }\n });\n });\n }\n });\n }\n }\n }\n }\n\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully retrieved call history data with ${this.userSessions[USER_SESSIONS].length} records`,\n this.loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get call history: ${JSON.stringify(err)}`, {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n });\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to update the missed call status in the call history using sessionId and time.\n * @param endTimeSessionIds - An array of objects containing endTime and sessionId of the missed call history records\n * @returns {Promise} Resolves to an object of type {@link UpdateMissedCallsResponse}.Response details with success or error status.\n */\n public async updateMissedCalls(\n endTimeSessionIds: EndTimeSessionId[]\n ): Promise<UpdateMissedCallsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n };\n // Convert endTime to milliseconds for each session\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n const requestBody = {\n endTimeSessionIds: santizedSessionIds,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(santizedSessionIds)}`,\n loggerContext\n );\n try {\n const updateMissedCallContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${UPDATE_MISSED_CALLS_ENDPOINT}`;\n // Make a POST request to update missed calls\n const response = await fetch(updateMissedCallContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(requestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const data: UpdateMissedCallsResponse = await response.json();\n log.log(`Missed calls are successfully read by the user`, loggerContext);\n const responseDetails: UpdateMissedCallsResponse = {\n statusCode: data.statusCode as number,\n data: {\n readStatusMessage: SET_READ_STATE_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully updated ${santizedSessionIds?.length} missed calls`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to update missed calls: ${JSON.stringify(err)}`, {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n });\n await uploadLogs();\n\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to display the UCM Lines API response.\n * @returns {Promise} Resolves to an object of type {@link UCMLinesResponse}.Response details with success or error status.\n */\n private async fetchUCMLinesData(): Promise<UCMLinesResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n };\n const vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n const userId = this.webex.internal.device.userId;\n const orgId = this.webex.internal.device.orgId;\n const linesURIForUCM = `${vgEndpoint}/${VERSION_1}/${UNIFIED_COMMUNICATIONS}/${CONFIG}/${PEOPLE}/${userId}/${LINES}?${ORG_ID}=${orgId}`;\n\n log.info(`${METHOD_START_MESSAGE} with URL: ${linesURIForUCM}`, loggerContext);\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${linesURIForUCM}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const ucmLineDetails: UCMLinesResponse = {\n statusCode: Number(response.statusCode),\n data: {\n lines: response.body as UCMLinesApiResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Line details fetched successfully`, loggerContext);\n\n return ucmLineDetails;\n } catch (err: unknown) {\n log.error(`Failed to fetch UCM lines data: ${JSON.stringify(err)}`, {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n });\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to delete the call history records using sessionId and endTime.\n * @param deleteSessionIds - An array of objects containing endTime and sessionId of the call history records\n * @returns {Promise} Resolves to an object of type {@link DeleteCallHistoryRecordsResponse}.Response details with success or error status.\n */\n public async deleteCallHistoryRecords(\n deleteSessionIds: EndTimeSessionId[]\n ): Promise<DeleteCallHistoryRecordsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n };\n\n // Collect all sessions with invalid dates (endTime) in an array\n const invalidSessions = deleteSessionIds.filter((session) =>\n Number.isNaN(new Date(session.endTime).getTime())\n );\n\n log.info(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(deleteSessionIds)}`,\n loggerContext\n );\n\n if (invalidSessions.length > 0) {\n // If there are invalid sessions, return an error with details\n const invalidSessionIds = invalidSessions.map((session) => session.sessionId).join(', ');\n log.info(\n `The provided date is malformed or invalid for session IDs: ${invalidSessionIds}`,\n loggerContext\n );\n\n return {\n statusCode: 400,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n },\n message: FAILURE_MESSAGE,\n };\n }\n\n // Convert endTime to milliseconds for each sessionId\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n\n const deleteRequestBody = {\n deleteSessionIds: santizedSessionIds,\n };\n\n try {\n const deleteCallHistoryRecordContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${DELETE_CALL_HISTORY_RECORDS_ENDPOINT}`;\n // Make a POST request to delete call history records\n const response = await fetch(deleteCallHistoryRecordContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(deleteRequestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const data: DeleteCallHistoryRecordsResponse = await response.json();\n log.log(\n `Successfully deleted ${santizedSessionIds?.length} call history records`,\n loggerContext\n );\n const responseDetails: DeleteCallHistoryRecordsResponse = {\n statusCode: data.statusCode as number,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to delete call history records: ${JSON.stringify(err)}`, {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n });\n await uploadLogs();\n\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n handleSessionEvents = async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n };\n\n handleUserReadSessionEvents = async (event?: CallSessionViewedEvent) => {\n if (event && event.data.userReadSessions.userReadSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n event as CallSessionViewedEvent\n );\n }\n };\n\n handleUserSessionsDeletedEvents = async (event?: CallSessionDeletedEvent) => {\n if (event && event.data.deletedSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n event as CallSessionDeletedEvent\n );\n }\n };\n\n /**\n *\n */\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionViewedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED,\n this.handleUserReadSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionDeletedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED,\n this.handleUserSessionsDeletedEvents\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","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","_createSuper","_isNativeReflectConstruct","_getPrototypeOf2","s","constructor","_Reflect$construct","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","CallHistory","exports","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","METHODS","GET_CALL_HISTORY_DATA","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","data","userSessions","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","stop","_x","_ref2","_callee2","_callee2$","_context2","userReadSessions","CALL_HISTORY_USER_VIEWED_SESSIONS","_x2","_ref3","_callee3","_callee3$","_context3","deletedSessions","CALL_HISTORY_USER_SESSIONS_DELETED","_x3","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_callee4","days","limit","sort","sortBy","date","sortByParam","sortParam","url","_janusResponse$header","janusResponse","callingBackend","hasCucmDN","_ucmLinesResponse$dat","ucmLinesResponse","ucmLinesData","responseDetails","extendedError","errorInfo","errorStatus","_args4","_callee4$","_context4","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","info","concat","METHOD_START_MESSAGE","loggerContext","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","headers","trackingid","body","START_TIME","DESC","element","compareElement","getTime","ASC","getCallingBackEnd","CALLING_BACKEND","UCM","some","session","self","cucmDN","fetchUCMLinesData","statusCode","lines","devices","device","line","dnorpattern","ucmLineNumber","index","STATUS_CODE","message","SUCCESS_MESSAGE","abrupt","t0","Error","error","uploadLogs","serviceErrorCodeHandler","getCallHistoryData","_updateMissedCalls","_callee5","endTimeSessionIds","santizedSessionIds","requestBody","_response$headers","updateMissedCallContentUrl","response","_callee5$","_context5","UPDATE_MISSED_CALLS","map","endTime","_stringify","UPDATE_MISSED_CALLS_ENDPOINT","fetch","t1","t2","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","t8","ok","status","get","json","readStatusMessage","SET_READ_STATE_SUCCESS_MESSAGE","t9","Number","updateMissedCalls","_x4","_fetchUCMLinesData","_callee6","vgEndpoint","userId","orgId","linesURIForUCM","_response$headers2","ucmLineDetails","_callee6$","_context6","FETCH_UCM_LINES_DATA","getVgActionEndpoint","VERSION_1","UNIFIED_COMMUNICATIONS","CONFIG","PEOPLE","LINES","ORG_ID","_deleteCallHistoryRecords","_callee7","deleteSessionIds","invalidSessions","invalidSessionIds","deleteRequestBody","_response$headers3","deleteCallHistoryRecordContentUrl","_callee7$","_context7","DELETE_CALL_HISTORY_RECORDS","_isNan","sessionId","join","deleteStatusMessage","SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE","FAILURE_MESSAGE","DELETE_CALL_HISTORY_RECORDS_ENDPOINT","SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE","deleteCallHistoryRecords","_x5","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","handleSessionEvents","CALL_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_VIEWED","handleUserReadSessionEvents","CALL_SESSION_EVENT_DELETED","handleUserSessionsDeletedEvents","Eventing","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport ExtendedError from '../Errors/catalog/ExtendedError';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ALLOWED_SERVICES,\n HTTP_METHODS,\n WebexRequestPayload,\n SORT,\n SORT_BY,\n CALLING_BACKEND,\n} from '../common/types';\nimport {\n ICallHistory,\n JanusResponseEvent,\n LoggerInterface,\n UpdateMissedCallsResponse,\n UCMLinesResponse,\n DeleteCallHistoryRecordsResponse,\n} from './types';\nimport log from '../Logger';\nimport {\n serviceErrorCodeHandler,\n getVgActionEndpoint,\n getCallingBackEnd,\n uploadLogs,\n} from '../common/Utils';\nimport {\n APPLICATION_JSON,\n CALL_HISTORY_FILE,\n CONTENT_TYPE,\n FROM_DATE,\n HISTORY,\n LIMIT,\n NUMBER_OF_DAYS,\n UPDATE_MISSED_CALLS_ENDPOINT,\n SET_READ_STATE_SUCCESS_MESSAGE,\n VERSION_1,\n UNIFIED_COMMUNICATIONS,\n CONFIG,\n PEOPLE,\n LINES,\n ORG_ID,\n DELETE_CALL_HISTORY_RECORDS_ENDPOINT,\n SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n METHODS,\n} from './constants';\nimport {\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n USER_SESSIONS,\n} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n EndTimeSessionId,\n CallSessionViewedEvent,\n SanitizedEndTimeAndSessionId,\n UCMLinesApiResponse,\n CallSessionDeletedEvent,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * @example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.info(\n `${METHOD_START_MESSAGE} with days=${days}, limit=${limit}, sort=${sortParam}, sortBy=${sortByParam}`,\n this.loggerContext\n );\n\n log.info(`Janus API URL: ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n log.log(`Response trackingId: ${janusResponse?.headers?.trackingid}`, this.loggerContext);\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n // Check the calling backend\n const callingBackend = getCallingBackEnd(this.webex);\n if (callingBackend === CALLING_BACKEND.UCM) {\n // Check if userSessions exist and the length is greater than 0\n if (this.userSessions[USER_SESSIONS] && this.userSessions[USER_SESSIONS].length > 0) {\n // Check if cucmDN exists and is valid in any of the userSessions\n const hasCucmDN = this.userSessions[USER_SESSIONS].some(\n (session: UserSession) => session.self.cucmDN && session.self.cucmDN.length > 0\n );\n // If any user session has cucmDN, proceed to fetch line data\n if (hasCucmDN) {\n // Fetch the Lines data\n const ucmLinesResponse = await this.fetchUCMLinesData();\n\n // Check if the Lines API response was successful\n if (ucmLinesResponse.statusCode === 200 && ucmLinesResponse.data.lines?.devices) {\n const ucmLinesData = ucmLinesResponse.data.lines.devices;\n\n // Iterate over user sessions and match with Lines data\n this.userSessions[USER_SESSIONS].forEach((session: UserSession) => {\n const cucmDN = session.self.cucmDN;\n\n if (cucmDN) {\n ucmLinesData.forEach((device) => {\n device.lines.forEach((line) => {\n if (line.dnorpattern === cucmDN) {\n session.self.ucmLineNumber = line.index; // Assign the ucmLineNumber\n }\n });\n });\n }\n });\n }\n }\n }\n }\n\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully retrieved call history data with ${this.userSessions[USER_SESSIONS].length} records`,\n this.loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to get call history: ${err}`) as ExtendedError;\n log.error(extendedError, {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA});\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to update the missed call status in the call history using sessionId and time.\n * @param endTimeSessionIds - An array of objects containing endTime and sessionId of the missed call history records\n * @returns {Promise} Resolves to an object of type {@link UpdateMissedCallsResponse}.Response details with success or error status.\n */\n public async updateMissedCalls(\n endTimeSessionIds: EndTimeSessionId[]\n ): Promise<UpdateMissedCallsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n };\n // Convert endTime to milliseconds for each session\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n const requestBody = {\n endTimeSessionIds: santizedSessionIds,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(santizedSessionIds)}`,\n loggerContext\n );\n try {\n const updateMissedCallContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${UPDATE_MISSED_CALLS_ENDPOINT}`;\n // Make a POST request to update missed calls\n const response = await fetch(updateMissedCallContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(requestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const data: UpdateMissedCallsResponse = await response.json();\n log.log(`Missed calls are successfully read by the user`, loggerContext);\n const responseDetails: UpdateMissedCallsResponse = {\n statusCode: data.statusCode as number,\n data: {\n readStatusMessage: SET_READ_STATE_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully updated ${santizedSessionIds?.length} missed calls`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to update missed calls: ${err}`) as ExtendedError;\n log.error(extendedError, {file: CALL_HISTORY_FILE, method: METHODS.UPDATE_MISSED_CALLS});\n await uploadLogs();\n\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to display the UCM Lines API response.\n * @returns {Promise} Resolves to an object of type {@link UCMLinesResponse}.Response details with success or error status.\n */\n private async fetchUCMLinesData(): Promise<UCMLinesResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n };\n const vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n const userId = this.webex.internal.device.userId;\n const orgId = this.webex.internal.device.orgId;\n const linesURIForUCM = `${vgEndpoint}/${VERSION_1}/${UNIFIED_COMMUNICATIONS}/${CONFIG}/${PEOPLE}/${userId}/${LINES}?${ORG_ID}=${orgId}`;\n\n log.info(`${METHOD_START_MESSAGE} with URL: ${linesURIForUCM}`, loggerContext);\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${linesURIForUCM}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const ucmLineDetails: UCMLinesResponse = {\n statusCode: Number(response.statusCode),\n data: {\n lines: response.body as UCMLinesApiResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Line details fetched successfully`, loggerContext);\n\n return ucmLineDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to fetch UCM lines data: ${err}`) as ExtendedError;\n log.error(extendedError, {file: CALL_HISTORY_FILE, method: METHODS.FETCH_UCM_LINES_DATA});\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to delete the call history records using sessionId and endTime.\n * @param deleteSessionIds - An array of objects containing endTime and sessionId of the call history records\n * @returns {Promise} Resolves to an object of type {@link DeleteCallHistoryRecordsResponse}.Response details with success or error status.\n */\n public async deleteCallHistoryRecords(\n deleteSessionIds: EndTimeSessionId[]\n ): Promise<DeleteCallHistoryRecordsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n };\n\n // Collect all sessions with invalid dates (endTime) in an array\n const invalidSessions = deleteSessionIds.filter((session) =>\n Number.isNaN(new Date(session.endTime).getTime())\n );\n\n log.info(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(deleteSessionIds)}`,\n loggerContext\n );\n\n if (invalidSessions.length > 0) {\n // If there are invalid sessions, return an error with details\n const invalidSessionIds = invalidSessions.map((session) => session.sessionId).join(', ');\n log.info(\n `The provided date is malformed or invalid for session IDs: ${invalidSessionIds}`,\n loggerContext\n );\n\n return {\n statusCode: 400,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n },\n message: FAILURE_MESSAGE,\n };\n }\n\n // Convert endTime to milliseconds for each sessionId\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n\n const deleteRequestBody = {\n deleteSessionIds: santizedSessionIds,\n };\n\n try {\n const deleteCallHistoryRecordContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${DELETE_CALL_HISTORY_RECORDS_ENDPOINT}`;\n // Make a POST request to delete call history records\n const response = await fetch(deleteCallHistoryRecordContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(deleteRequestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const data: DeleteCallHistoryRecordsResponse = await response.json();\n log.log(\n `Successfully deleted ${santizedSessionIds?.length} call history records`,\n loggerContext\n );\n const responseDetails: DeleteCallHistoryRecordsResponse = {\n statusCode: data.statusCode as number,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to delete call history records: ${err}`\n ) as ExtendedError;\n log.error(extendedError, {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n });\n await uploadLogs();\n\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n handleSessionEvents = async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n };\n\n handleUserReadSessionEvents = async (event?: CallSessionViewedEvent) => {\n if (event && event.data.userReadSessions.userReadSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n event as CallSessionViewedEvent\n );\n }\n };\n\n handleUserSessionsDeletedEvents = async (event?: CallSessionDeletedEvent) => {\n if (event && event.data.deletedSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n event as CallSessionDeletedEvent\n );\n }\n };\n\n /**\n *\n */\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionViewedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED,\n this.handleUserReadSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionDeletedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED,\n this.handleUserSessionsDeletedEvents\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,8 +9,8 @@ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/de
|
|
|
9
9
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
10
10
|
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
11
11
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
12
|
-
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
13
12
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
13
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
14
14
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
16
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
@@ -99,10 +99,7 @@ describe('Call history tests', function () {
|
|
|
99
99
|
file: _constants.CALL_HISTORY_FILE,
|
|
100
100
|
method: _constants.METHODS.GET_CALL_HISTORY_DATA
|
|
101
101
|
});
|
|
102
|
-
expect(errorSpy).
|
|
103
|
-
file: _constants.CALL_HISTORY_FILE,
|
|
104
|
-
method: _constants.METHODS.GET_CALL_HISTORY_DATA
|
|
105
|
-
});
|
|
102
|
+
expect(errorSpy).toHaveBeenCalled();
|
|
106
103
|
expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
|
|
107
104
|
case 11:
|
|
108
105
|
case "end":
|
|
@@ -132,10 +129,7 @@ describe('Call history tests', function () {
|
|
|
132
129
|
file: _constants.CALL_HISTORY_FILE,
|
|
133
130
|
method: _constants.METHODS.GET_CALL_HISTORY_DATA
|
|
134
131
|
});
|
|
135
|
-
expect(errorSpy).
|
|
136
|
-
file: _constants.CALL_HISTORY_FILE,
|
|
137
|
-
method: _constants.METHODS.GET_CALL_HISTORY_DATA
|
|
138
|
-
});
|
|
132
|
+
expect(errorSpy).toHaveBeenCalled();
|
|
139
133
|
expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
|
|
140
134
|
case 11:
|
|
141
135
|
case "end":
|
|
@@ -367,7 +361,7 @@ describe('Call history tests', function () {
|
|
|
367
361
|
expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
|
|
368
362
|
statusCode: 400
|
|
369
363
|
}, methodDetails);
|
|
370
|
-
expect(errorSpy).
|
|
364
|
+
expect(errorSpy).toHaveBeenCalled();
|
|
371
365
|
expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
|
|
372
366
|
case 23:
|
|
373
367
|
case "end":
|
|
@@ -772,7 +766,7 @@ describe('Call history tests', function () {
|
|
|
772
766
|
expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
|
|
773
767
|
statusCode: 401
|
|
774
768
|
}, methodDetails);
|
|
775
|
-
expect(errorSpy).
|
|
769
|
+
expect(errorSpy).toHaveBeenCalledWith(expect.any(Error), {
|
|
776
770
|
file: _constants.CALL_HISTORY_FILE,
|
|
777
771
|
method: _constants.METHODS.DELETE_CALL_HISTORY_RECORDS
|
|
778
772
|
});
|
|
@@ -815,114 +809,5 @@ describe('Call history tests', function () {
|
|
|
815
809
|
}, _callee19);
|
|
816
810
|
})));
|
|
817
811
|
});
|
|
818
|
-
describe('URL construction for shared sessions based on calling backend', function () {
|
|
819
|
-
var webexRequestSpy;
|
|
820
|
-
beforeEach(function () {
|
|
821
|
-
webexRequestSpy = jest.spyOn(webex, 'request').mockResolvedValue({
|
|
822
|
-
statusCode: 200,
|
|
823
|
-
body: {
|
|
824
|
-
statusCode: 200,
|
|
825
|
-
userSessions: []
|
|
826
|
-
}
|
|
827
|
-
});
|
|
828
|
-
});
|
|
829
|
-
afterEach(function () {
|
|
830
|
-
jest.restoreAllMocks();
|
|
831
|
-
});
|
|
832
|
-
it('should include includeSharedSessions=true for WXC backend', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
833
|
-
var callArgs;
|
|
834
|
-
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
835
|
-
while (1) switch (_context20.prev = _context20.next) {
|
|
836
|
-
case 0:
|
|
837
|
-
jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(_types2.CALLING_BACKEND.WXC);
|
|
838
|
-
_context20.next = 3;
|
|
839
|
-
return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
|
|
840
|
-
case 3:
|
|
841
|
-
callArgs = webexRequestSpy.mock.calls[0][0];
|
|
842
|
-
expect(callArgs.uri).toContain('&includeSharedSessions=true');
|
|
843
|
-
expect(callArgs.method).toBe(_types2.HTTP_METHODS.GET);
|
|
844
|
-
expect(callArgs.service).toBe('janus');
|
|
845
|
-
case 7:
|
|
846
|
-
case "end":
|
|
847
|
-
return _context20.stop();
|
|
848
|
-
}
|
|
849
|
-
}, _callee20);
|
|
850
|
-
})));
|
|
851
|
-
it('should NOT include includeSharedSessions for UCM backend', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
852
|
-
var callArgs;
|
|
853
|
-
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
854
|
-
while (1) switch (_context21.prev = _context21.next) {
|
|
855
|
-
case 0:
|
|
856
|
-
jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(_types2.CALLING_BACKEND.UCM);
|
|
857
|
-
_context21.next = 3;
|
|
858
|
-
return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
|
|
859
|
-
case 3:
|
|
860
|
-
callArgs = webexRequestSpy.mock.calls[0][0];
|
|
861
|
-
expect(callArgs.uri).not.toContain('includeSharedSessions');
|
|
862
|
-
expect(callArgs.method).toBe(_types2.HTTP_METHODS.GET);
|
|
863
|
-
expect(callArgs.service).toBe('janus');
|
|
864
|
-
case 7:
|
|
865
|
-
case "end":
|
|
866
|
-
return _context21.stop();
|
|
867
|
-
}
|
|
868
|
-
}, _callee21);
|
|
869
|
-
})));
|
|
870
|
-
it('should NOT include includeSharedSessions for BWRKS backend', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
871
|
-
var callArgs;
|
|
872
|
-
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
873
|
-
while (1) switch (_context22.prev = _context22.next) {
|
|
874
|
-
case 0:
|
|
875
|
-
jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(_types2.CALLING_BACKEND.BWRKS);
|
|
876
|
-
_context22.next = 3;
|
|
877
|
-
return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
|
|
878
|
-
case 3:
|
|
879
|
-
callArgs = webexRequestSpy.mock.calls[0][0];
|
|
880
|
-
expect(callArgs.uri).not.toContain('includeSharedSessions');
|
|
881
|
-
expect(callArgs.method).toBe(_types2.HTTP_METHODS.GET);
|
|
882
|
-
expect(callArgs.service).toBe('janus');
|
|
883
|
-
case 7:
|
|
884
|
-
case "end":
|
|
885
|
-
return _context22.stop();
|
|
886
|
-
}
|
|
887
|
-
}, _callee22);
|
|
888
|
-
})));
|
|
889
|
-
it('should NOT include includeSharedSessions for unknown/other backends', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
890
|
-
var callArgs;
|
|
891
|
-
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
892
|
-
while (1) switch (_context23.prev = _context23.next) {
|
|
893
|
-
case 0:
|
|
894
|
-
jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue('OTHER_BACKEND');
|
|
895
|
-
_context23.next = 3;
|
|
896
|
-
return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
|
|
897
|
-
case 3:
|
|
898
|
-
callArgs = webexRequestSpy.mock.calls[0][0];
|
|
899
|
-
expect(callArgs.uri).not.toContain('includeSharedSessions');
|
|
900
|
-
expect(callArgs.method).toBe(_types2.HTTP_METHODS.GET);
|
|
901
|
-
expect(callArgs.service).toBe('janus');
|
|
902
|
-
case 7:
|
|
903
|
-
case "end":
|
|
904
|
-
return _context23.stop();
|
|
905
|
-
}
|
|
906
|
-
}, _callee23);
|
|
907
|
-
})));
|
|
908
|
-
it('should construct URL correctly with base parameters for all backends', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
909
|
-
var callArgs;
|
|
910
|
-
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
911
|
-
while (1) switch (_context24.prev = _context24.next) {
|
|
912
|
-
case 0:
|
|
913
|
-
jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(_types2.CALLING_BACKEND.WXC);
|
|
914
|
-
_context24.next = 3;
|
|
915
|
-
return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
|
|
916
|
-
case 3:
|
|
917
|
-
callArgs = webexRequestSpy.mock.calls[0][0];
|
|
918
|
-
expect(callArgs.uri).toMatch(/.*\/history\/userSessions.*limit=10.*includeNewSessionTypes=true.*sort=DESC.*/);
|
|
919
|
-
expect(callArgs.uri).toContain('&includeSharedSessions=true');
|
|
920
|
-
case 6:
|
|
921
|
-
case "end":
|
|
922
|
-
return _context24.stop();
|
|
923
|
-
}
|
|
924
|
-
}, _callee24);
|
|
925
|
-
})));
|
|
926
|
-
});
|
|
927
812
|
});
|
|
928
813
|
//# sourceMappingURL=CallHistory.test.js.map
|