@webex/calling 3.9.0-webinar5k.1 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/CallHistory/CallHistory.js +51 -46
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +146 -147
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallHistory/types.js.map +1 -1
  8. package/dist/CallSettings/CallSettings.js +8 -8
  9. package/dist/CallSettings/CallSettings.js.map +1 -1
  10. package/dist/CallSettings/CallSettings.test.js +1 -1
  11. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.js +12 -11
  13. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  14. package/dist/CallSettings/UcmBackendConnector.test.js +9 -10
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +66 -59
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +108 -109
  19. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  20. package/dist/CallSettings/constants.js.map +1 -1
  21. package/dist/CallSettings/testFixtures.js.map +1 -1
  22. package/dist/CallSettings/types.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.js +457 -201
  24. package/dist/CallingClient/CallingClient.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.test.js +458 -315
  26. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  27. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  28. package/dist/CallingClient/calling/CallerId/index.js +2 -2
  29. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  30. package/dist/CallingClient/calling/CallerId/index.test.js +8 -7
  31. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  32. package/dist/CallingClient/calling/CallerId/types.js.map +1 -1
  33. package/dist/CallingClient/calling/call.js +369 -333
  34. package/dist/CallingClient/calling/call.js.map +1 -1
  35. package/dist/CallingClient/calling/call.test.js +411 -410
  36. package/dist/CallingClient/calling/call.test.js.map +1 -1
  37. package/dist/CallingClient/calling/callManager.js +3 -4
  38. package/dist/CallingClient/calling/callManager.js.map +1 -1
  39. package/dist/CallingClient/calling/callManager.test.js +67 -68
  40. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  41. package/dist/CallingClient/calling/index.js.map +1 -1
  42. package/dist/CallingClient/calling/types.js.map +1 -1
  43. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  44. package/dist/CallingClient/constants.js +9 -6
  45. package/dist/CallingClient/constants.js.map +1 -1
  46. package/dist/CallingClient/line/index.js +10 -11
  47. package/dist/CallingClient/line/index.js.map +1 -1
  48. package/dist/CallingClient/line/line.test.js +10 -9
  49. package/dist/CallingClient/line/line.test.js.map +1 -1
  50. package/dist/CallingClient/line/types.js.map +1 -1
  51. package/dist/CallingClient/registration/index.js.map +1 -1
  52. package/dist/CallingClient/registration/register.js +280 -201
  53. package/dist/CallingClient/registration/register.js.map +1 -1
  54. package/dist/CallingClient/registration/register.test.js +251 -180
  55. package/dist/CallingClient/registration/register.test.js.map +1 -1
  56. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  57. package/dist/CallingClient/registration/types.js.map +1 -1
  58. package/dist/CallingClient/registration/webWorker.js +25 -10
  59. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  60. package/dist/CallingClient/registration/webWorker.test.js +85 -38
  61. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  62. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  63. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  64. package/dist/CallingClient/types.js.map +1 -1
  65. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  66. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  67. package/dist/Contacts/ContactsClient.js +244 -238
  68. package/dist/Contacts/ContactsClient.js.map +1 -1
  69. package/dist/Contacts/ContactsClient.test.js +89 -90
  70. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  71. package/dist/Contacts/constants.js +2 -2
  72. package/dist/Contacts/constants.js.map +1 -1
  73. package/dist/Contacts/contactFixtures.js.map +1 -1
  74. package/dist/Contacts/types.js.map +1 -1
  75. package/dist/Errors/catalog/CallError.js +2 -2
  76. package/dist/Errors/catalog/CallError.js.map +1 -1
  77. package/dist/Errors/catalog/CallingDeviceError.js +2 -2
  78. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  79. package/dist/Errors/catalog/ExtendedError.js +3 -3
  80. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  81. package/dist/Errors/catalog/LineError.js +2 -2
  82. package/dist/Errors/catalog/LineError.js.map +1 -1
  83. package/dist/Errors/index.js.map +1 -1
  84. package/dist/Errors/types.js.map +1 -1
  85. package/dist/Events/impl/index.js +2 -2
  86. package/dist/Events/impl/index.js.map +1 -1
  87. package/dist/Events/types.js.map +1 -1
  88. package/dist/Logger/index.js.map +1 -1
  89. package/dist/Logger/index.test.js.map +1 -1
  90. package/dist/Logger/types.js.map +1 -1
  91. package/dist/Metrics/index.js +221 -104
  92. package/dist/Metrics/index.js.map +1 -1
  93. package/dist/Metrics/index.test.js +112 -23
  94. package/dist/Metrics/index.test.js.map +1 -1
  95. package/dist/Metrics/types.js +15 -1
  96. package/dist/Metrics/types.js.map +1 -1
  97. package/dist/SDKConnector/index.js +0 -1
  98. package/dist/SDKConnector/index.js.map +1 -1
  99. package/dist/SDKConnector/index.test.js.map +1 -1
  100. package/dist/SDKConnector/types.js.map +1 -1
  101. package/dist/SDKConnector/utils.js.map +1 -1
  102. package/dist/SDKConnector/utils.test.js.map +1 -1
  103. package/dist/Voicemail/BroadworksBackendConnector.js +42 -39
  104. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  105. package/dist/Voicemail/BroadworksBackendConnector.test.js +119 -120
  106. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  107. package/dist/Voicemail/UcmBackendConnector.js +54 -47
  108. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  109. package/dist/Voicemail/UcmBackendConnector.test.js +73 -74
  110. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  111. package/dist/Voicemail/Voicemail.js +12 -11
  112. package/dist/Voicemail/Voicemail.js.map +1 -1
  113. package/dist/Voicemail/Voicemail.test.js +2 -2
  114. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  115. package/dist/Voicemail/WxCallBackendConnector.js +78 -70
  116. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  117. package/dist/Voicemail/WxCallBackendConnector.test.js +184 -185
  118. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  119. package/dist/Voicemail/constants.js.map +1 -1
  120. package/dist/Voicemail/types.js.map +1 -1
  121. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  122. package/dist/api.js.map +1 -1
  123. package/dist/common/Utils.js +84 -65
  124. package/dist/common/Utils.js.map +1 -1
  125. package/dist/common/Utils.test.js +111 -117
  126. package/dist/common/Utils.test.js.map +1 -1
  127. package/dist/common/constants.js.map +1 -1
  128. package/dist/common/index.js.map +1 -1
  129. package/dist/common/testUtil.js +1 -1
  130. package/dist/common/testUtil.js.map +1 -1
  131. package/dist/common/types.js.map +1 -1
  132. package/dist/index.js +5 -5
  133. package/dist/index.js.map +1 -1
  134. package/dist/module/CallHistory/CallHistory.js +4 -0
  135. package/dist/module/CallSettings/UcmBackendConnector.js +1 -0
  136. package/dist/module/CallSettings/WxCallBackendConnector.js +7 -0
  137. package/dist/module/CallingClient/CallingClient.js +174 -32
  138. package/dist/module/CallingClient/calling/call.js +79 -43
  139. package/dist/module/CallingClient/constants.js +8 -4
  140. package/dist/module/CallingClient/line/index.js +3 -3
  141. package/dist/module/CallingClient/registration/register.js +34 -10
  142. package/dist/module/CallingClient/registration/webWorker.js +17 -3
  143. package/dist/module/CallingClient/registration/webWorkerStr.js +19 -3
  144. package/dist/module/CallingClient/windowsChromiumIceWarmupUtils.js +59 -0
  145. package/dist/module/Contacts/ContactsClient.js +23 -17
  146. package/dist/module/Contacts/constants.js +1 -1
  147. package/dist/module/Metrics/index.js +142 -55
  148. package/dist/module/Metrics/types.js +14 -0
  149. package/dist/module/Voicemail/BroadworksBackendConnector.js +3 -0
  150. package/dist/module/Voicemail/UcmBackendConnector.js +6 -0
  151. package/dist/module/Voicemail/WxCallBackendConnector.js +8 -0
  152. package/dist/module/common/Utils.js +27 -10
  153. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  154. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  155. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  156. package/dist/types/CallingClient/CallingClient.d.ts +12 -1
  157. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  158. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  159. package/dist/types/CallingClient/calling/types.d.ts +2 -1
  160. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  161. package/dist/types/CallingClient/constants.d.ts +8 -4
  162. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  163. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  164. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  165. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  166. package/dist/types/CallingClient/registration/webWorker.d.ts +2 -1
  167. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  168. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  169. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  170. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts +5 -0
  171. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts.map +1 -0
  172. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  173. package/dist/types/Contacts/constants.d.ts +1 -1
  174. package/dist/types/Contacts/constants.d.ts.map +1 -1
  175. package/dist/types/Metrics/index.d.ts.map +1 -1
  176. package/dist/types/Metrics/types.d.ts +18 -3
  177. package/dist/types/Metrics/types.d.ts.map +1 -1
  178. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  179. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  180. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  181. package/dist/types/common/Utils.d.ts.map +1 -1
  182. package/dist/types/common/types.d.ts +1 -0
  183. package/dist/types/common/types.d.ts.map +1 -1
  184. package/package.json +10 -8
@@ -34,8 +34,8 @@ var _types2 = require("../Events/types");
34
34
  var _impl = require("../Events/impl");
35
35
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
36
36
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
37
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable dot-notation */ /* eslint-disable no-underscore-dangle */
37
+ function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = _Reflect$construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
38
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable dot-notation */ /* eslint-disable no-underscore-dangle */
39
39
  /**
40
40
  * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.
41
41
  *
@@ -66,7 +66,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
66
66
  });
67
67
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "userSessions", void 0);
68
68
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSessionEvents", /*#__PURE__*/function () {
69
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
69
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(event) {
70
70
  return _regenerator.default.wrap(function _callee$(_context) {
71
71
  while (1) switch (_context.prev = _context.next) {
72
72
  case 0:
@@ -84,7 +84,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
84
84
  };
85
85
  }());
86
86
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleUserReadSessionEvents", /*#__PURE__*/function () {
87
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(event) {
87
+ var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(event) {
88
88
  return _regenerator.default.wrap(function _callee2$(_context2) {
89
89
  while (1) switch (_context2.prev = _context2.next) {
90
90
  case 0:
@@ -102,7 +102,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
102
102
  };
103
103
  }());
104
104
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleUserSessionsDeletedEvents", /*#__PURE__*/function () {
105
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(event) {
105
+ var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(event) {
106
106
  return _regenerator.default.wrap(function _callee3$(_context3) {
107
107
  while (1) switch (_context3.prev = _context3.next) {
108
108
  case 0:
@@ -140,7 +140,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
140
140
  (0, _createClass2.default)(CallHistory, [{
141
141
  key: "getCallHistoryData",
142
142
  value: (function () {
143
- var _getCallHistoryData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
143
+ var _getCallHistoryData = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
144
144
  var days,
145
145
  limit,
146
146
  sort,
@@ -149,6 +149,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
149
149
  sortByParam,
150
150
  sortParam,
151
151
  url,
152
+ _janusResponse$header,
152
153
  janusResponse,
153
154
  callingBackend,
154
155
  hasCucmDN,
@@ -189,6 +190,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
189
190
  });
190
191
  case 16:
191
192
  janusResponse = _context4.sent;
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);
192
194
  this.userSessions = janusResponse.body;
193
195
  if (sortByParam === _types.SORT_BY.START_TIME) {
194
196
  if (sortParam === _types.SORT.DESC) {
@@ -204,11 +206,11 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
204
206
  // Check the calling backend
205
207
  callingBackend = (0, _Utils.getCallingBackEnd)(this.webex);
206
208
  if (!(callingBackend === _types.CALLING_BACKEND.UCM)) {
207
- _context4.next = 28;
209
+ _context4.next = 29;
208
210
  break;
209
211
  }
210
212
  if (!(this.userSessions[_constants2.USER_SESSIONS] && this.userSessions[_constants2.USER_SESSIONS].length > 0)) {
211
- _context4.next = 28;
213
+ _context4.next = 29;
212
214
  break;
213
215
  }
214
216
  // Check if cucmDN exists and is valid in any of the userSessions
@@ -216,12 +218,12 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
216
218
  return session.self.cucmDN && session.self.cucmDN.length > 0;
217
219
  }); // If any user session has cucmDN, proceed to fetch line data
218
220
  if (!hasCucmDN) {
219
- _context4.next = 28;
221
+ _context4.next = 29;
220
222
  break;
221
223
  }
222
- _context4.next = 26;
224
+ _context4.next = 27;
223
225
  return this.fetchUCMLinesData();
224
- case 26:
226
+ case 27:
225
227
  ucmLinesResponse = _context4.sent;
226
228
  // Check if the Lines API response was successful
227
229
  if (ucmLinesResponse.statusCode === 200 && (_ucmLinesResponse$dat = ucmLinesResponse.data.lines) !== null && _ucmLinesResponse$dat !== void 0 && _ucmLinesResponse$dat.devices) {
@@ -239,7 +241,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
239
241
  }
240
242
  });
241
243
  }
242
- case 28:
244
+ case 29:
243
245
  responseDetails = {
244
246
  statusCode: this.userSessions[_constants2.STATUS_CODE],
245
247
  data: {
@@ -249,25 +251,25 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
249
251
  };
250
252
  _Logger.default.log("Successfully retrieved call history data with ".concat(this.userSessions[_constants2.USER_SESSIONS].length, " records"), this.loggerContext);
251
253
  return _context4.abrupt("return", responseDetails);
252
- case 33:
253
- _context4.prev = 33;
254
+ case 34:
255
+ _context4.prev = 34;
254
256
  _context4.t0 = _context4["catch"](13);
255
257
  extendedError = new Error("Failed to get call history: ".concat(_context4.t0));
256
258
  _Logger.default.error(extendedError, {
257
259
  file: _constants.CALL_HISTORY_FILE,
258
260
  method: _constants.METHODS.GET_CALL_HISTORY_DATA
259
261
  });
260
- _context4.next = 39;
262
+ _context4.next = 40;
261
263
  return (0, _Utils.uploadLogs)();
262
- case 39:
264
+ case 40:
263
265
  errorInfo = _context4.t0;
264
266
  errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, this.loggerContext);
265
267
  return _context4.abrupt("return", errorStatus);
266
- case 42:
268
+ case 43:
267
269
  case "end":
268
270
  return _context4.stop();
269
271
  }
270
- }, _callee4, this, [[13, 33]]);
272
+ }, _callee4, this, [[13, 34]]);
271
273
  }));
272
274
  function getCallHistoryData() {
273
275
  return _getCallHistoryData.apply(this, arguments);
@@ -283,8 +285,8 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
283
285
  }, {
284
286
  key: "updateMissedCalls",
285
287
  value: (function () {
286
- var _updateMissedCalls = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(endTimeSessionIds) {
287
- var loggerContext, santizedSessionIds, requestBody, updateMissedCallContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
288
+ var _updateMissedCalls = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(endTimeSessionIds) {
289
+ var loggerContext, santizedSessionIds, requestBody, _response$headers, updateMissedCallContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
288
290
  return _regenerator.default.wrap(function _callee5$(_context5) {
289
291
  while (1) switch (_context5.prev = _context5.next) {
290
292
  case 0:
@@ -329,9 +331,10 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
329
331
  }
330
332
  throw new Error("".concat(response.status));
331
333
  case 22:
332
- _context5.next = 24;
334
+ _Logger.default.log("Response trackingId: ".concat((_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.get('trackingid')), loggerContext);
335
+ _context5.next = 25;
333
336
  return response.json();
334
- case 24:
337
+ case 25:
335
338
  data = _context5.sent;
336
339
  _Logger.default.log("Missed calls are successfully read by the user", loggerContext);
337
340
  responseDetails = {
@@ -343,28 +346,28 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
343
346
  };
344
347
  _Logger.default.log("Successfully updated ".concat(santizedSessionIds === null || santizedSessionIds === void 0 ? void 0 : santizedSessionIds.length, " missed calls"), loggerContext);
345
348
  return _context5.abrupt("return", responseDetails);
346
- case 31:
347
- _context5.prev = 31;
349
+ case 32:
350
+ _context5.prev = 32;
348
351
  _context5.t9 = _context5["catch"](4);
349
352
  extendedError = new Error("Failed to update missed calls: ".concat(_context5.t9));
350
353
  _Logger.default.error(extendedError, {
351
354
  file: _constants.CALL_HISTORY_FILE,
352
355
  method: _constants.METHODS.UPDATE_MISSED_CALLS
353
356
  });
354
- _context5.next = 37;
357
+ _context5.next = 38;
355
358
  return (0, _Utils.uploadLogs)();
356
- case 37:
359
+ case 38:
357
360
  // Catch the 401 error from try block, return the error object to user
358
361
  errorInfo = {
359
362
  statusCode: _context5.t9 instanceof Error ? Number(_context5.t9.message) : ''
360
363
  };
361
364
  errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
362
365
  return _context5.abrupt("return", errorStatus);
363
- case 40:
366
+ case 41:
364
367
  case "end":
365
368
  return _context5.stop();
366
369
  }
367
- }, _callee5, this, [[4, 31]]);
370
+ }, _callee5, this, [[4, 32]]);
368
371
  }));
369
372
  function updateMissedCalls(_x4) {
370
373
  return _updateMissedCalls.apply(this, arguments);
@@ -379,8 +382,8 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
379
382
  }, {
380
383
  key: "fetchUCMLinesData",
381
384
  value: (function () {
382
- var _fetchUCMLinesData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
383
- var loggerContext, vgEndpoint, userId, orgId, linesURIForUCM, response, ucmLineDetails, extendedError, errorInfo, errorStatus;
385
+ var _fetchUCMLinesData = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
386
+ var loggerContext, vgEndpoint, userId, orgId, linesURIForUCM, _response$headers2, response, ucmLineDetails, extendedError, errorInfo, errorStatus;
384
387
  return _regenerator.default.wrap(function _callee6$(_context6) {
385
388
  while (1) switch (_context6.prev = _context6.next) {
386
389
  case 0:
@@ -401,6 +404,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
401
404
  });
402
405
  case 9:
403
406
  response = _context6.sent;
407
+ _Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers2 = response.headers) === null || _response$headers2 === void 0 ? void 0 : _response$headers2.trackingid), loggerContext);
404
408
  ucmLineDetails = {
405
409
  statusCode: Number(response.statusCode),
406
410
  data: {
@@ -410,25 +414,25 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
410
414
  };
411
415
  _Logger.default.log("Line details fetched successfully", loggerContext);
412
416
  return _context6.abrupt("return", ucmLineDetails);
413
- case 15:
414
- _context6.prev = 15;
417
+ case 16:
418
+ _context6.prev = 16;
415
419
  _context6.t0 = _context6["catch"](6);
416
420
  extendedError = new Error("Failed to fetch UCM lines data: ".concat(_context6.t0));
417
421
  _Logger.default.error(extendedError, {
418
422
  file: _constants.CALL_HISTORY_FILE,
419
423
  method: _constants.METHODS.FETCH_UCM_LINES_DATA
420
424
  });
421
- _context6.next = 21;
425
+ _context6.next = 22;
422
426
  return (0, _Utils.uploadLogs)();
423
- case 21:
427
+ case 22:
424
428
  errorInfo = _context6.t0;
425
429
  errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
426
430
  return _context6.abrupt("return", errorStatus);
427
- case 24:
431
+ case 25:
428
432
  case "end":
429
433
  return _context6.stop();
430
434
  }
431
- }, _callee6, this, [[6, 15]]);
435
+ }, _callee6, this, [[6, 16]]);
432
436
  }));
433
437
  function fetchUCMLinesData() {
434
438
  return _fetchUCMLinesData.apply(this, arguments);
@@ -444,8 +448,8 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
444
448
  }, {
445
449
  key: "deleteCallHistoryRecords",
446
450
  value: (function () {
447
- var _deleteCallHistoryRecords = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(deleteSessionIds) {
448
- var loggerContext, invalidSessions, invalidSessionIds, santizedSessionIds, deleteRequestBody, deleteCallHistoryRecordContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
451
+ var _deleteCallHistoryRecords = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(deleteSessionIds) {
452
+ var loggerContext, invalidSessions, invalidSessionIds, santizedSessionIds, deleteRequestBody, _response$headers3, deleteCallHistoryRecordContentUrl, response, data, responseDetails, extendedError, errorInfo, errorStatus;
449
453
  return _regenerator.default.wrap(function _callee7$(_context7) {
450
454
  while (1) switch (_context7.prev = _context7.next) {
451
455
  case 0:
@@ -511,9 +515,10 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
511
515
  }
512
516
  throw new Error("".concat(response.status));
513
517
  case 27:
514
- _context7.next = 29;
518
+ _Logger.default.log("Response trackingId: ".concat((_response$headers3 = response.headers) === null || _response$headers3 === void 0 ? void 0 : _response$headers3.get('trackingid')), loggerContext);
519
+ _context7.next = 30;
515
520
  return response.json();
516
- case 29:
521
+ case 30:
517
522
  data = _context7.sent;
518
523
  _Logger.default.log("Successfully deleted ".concat(santizedSessionIds === null || santizedSessionIds === void 0 ? void 0 : santizedSessionIds.length, " call history records"), loggerContext);
519
524
  responseDetails = {
@@ -524,28 +529,28 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
524
529
  message: _constants2.SUCCESS_MESSAGE
525
530
  };
526
531
  return _context7.abrupt("return", responseDetails);
527
- case 35:
528
- _context7.prev = 35;
532
+ case 36:
533
+ _context7.prev = 36;
529
534
  _context7.t9 = _context7["catch"](9);
530
535
  extendedError = new Error("Failed to delete call history records: ".concat(_context7.t9));
531
536
  _Logger.default.error(extendedError, {
532
537
  file: _constants.CALL_HISTORY_FILE,
533
538
  method: _constants.METHODS.DELETE_CALL_HISTORY_RECORDS
534
539
  });
535
- _context7.next = 41;
540
+ _context7.next = 42;
536
541
  return (0, _Utils.uploadLogs)();
537
- case 41:
542
+ case 42:
538
543
  // Catch the 401 error from try block, return the error object to user
539
544
  errorInfo = {
540
545
  statusCode: _context7.t9 instanceof Error ? Number(_context7.t9.message) : ''
541
546
  };
542
547
  errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
543
548
  return _context7.abrupt("return", errorStatus);
544
- case 44:
549
+ case 45:
545
550
  case "end":
546
551
  return _context7.stop();
547
552
  }
548
- }, _callee7, this, [[9, 35]]);
553
+ }, _callee7, this, [[9, 36]]);
549
554
  }));
550
555
  function deleteCallHistoryRecords(_x5) {
551
556
  return _deleteCallHistoryRecords.apply(this, arguments);
@@ -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","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","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","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","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","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","headers","ok","status","json","readStatusMessage","SET_READ_STATE_SUCCESS_MESSAGE","t9","Number","updateMissedCalls","_x4","_fetchUCMLinesData","_callee6","vgEndpoint","userId","orgId","linesURIForUCM","ucmLineDetails","_callee6$","_context6","FETCH_UCM_LINES_DATA","getVgActionEndpoint","VERSION_1","UNIFIED_COMMUNICATIONS","CONFIG","PEOPLE","LINES","ORG_ID","_deleteCallHistoryRecords","_callee7","deleteSessionIds","invalidSessions","invalidSessionIds","deleteRequestBody","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 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 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 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 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 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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"}
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":[]}