@webex/calling 3.10.0-next.9 → 3.10.0-set-bitrate.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 +118 -124
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +189 -201
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +17 -18
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/CallSettings.test.js +14 -14
- package/dist/CallSettings/CallSettings.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +71 -24
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +135 -137
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +198 -201
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -168
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +7 -8
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +650 -606
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +685 -564
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +15 -18
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +113 -113
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +5 -1
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +57 -74
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +22 -22
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +657 -526
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +657 -309
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +24 -24
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +20 -20
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +250 -253
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +60 -60
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Errors/catalog/CallError.js +7 -10
- package/dist/Errors/catalog/CallError.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +6 -9
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/ExtendedError.js +6 -8
- package/dist/Errors/catalog/ExtendedError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +6 -9
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Events/impl/index.js +11 -13
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +1 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/SDKConnector/index.js +1 -2
- package/dist/SDKConnector/index.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +84 -85
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +58 -61
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +20 -20
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +116 -117
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/common/Utils.js +195 -165
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +432 -183
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +3 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/testUtil.js +3 -3
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
- package/dist/module/CallingClient/calling/call.js +55 -34
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +82 -2
- package/dist/module/common/Utils.js +27 -3
- package/dist/module/common/constants.js +2 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +4 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +3 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +6 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +6 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -52,7 +52,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
52
52
|
/**
|
|
53
53
|
*
|
|
54
54
|
*/
|
|
55
|
-
(0, _createClass2.default)(UcmBackendConnector, [{
|
|
55
|
+
return (0, _createClass2.default)(UcmBackendConnector, [{
|
|
56
56
|
key: "init",
|
|
57
57
|
value: function init() {
|
|
58
58
|
var loggerContext = {
|
|
@@ -103,8 +103,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
103
103
|
value: (function () {
|
|
104
104
|
var _getVoicemailList = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(offset, offsetLimit, sort) {
|
|
105
105
|
var _this = this;
|
|
106
|
-
var loggerContext, urlVg, _response$headers, response, msgInfo, messageinfoArray, ucmVmMsgInfo, responseDetails, errorInfo, errorStatus;
|
|
107
|
-
return _regenerator.default.wrap(function
|
|
106
|
+
var loggerContext, urlVg, _response$headers, response, msgInfo, messageinfoArray, ucmVmMsgInfo, responseDetails, errorInfo, errorStatus, _t;
|
|
107
|
+
return _regenerator.default.wrap(function (_context) {
|
|
108
108
|
while (1) switch (_context.prev = _context.next) {
|
|
109
109
|
case 0:
|
|
110
110
|
loggerContext = {
|
|
@@ -113,8 +113,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
113
113
|
};
|
|
114
114
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Offset: ").concat(offset, " Offset limit: ").concat(offsetLimit, " Sort type:").concat(sort), loggerContext);
|
|
115
115
|
urlVg = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(_constants2.OFFSET, "=").concat(offset).concat(_constants2.LIMIT, "=").concat(offsetLimit).concat(_constants2.SORT_ORDER, "=").concat(sort);
|
|
116
|
-
_context.prev =
|
|
117
|
-
_context.next =
|
|
116
|
+
_context.prev = 1;
|
|
117
|
+
_context.next = 2;
|
|
118
118
|
return this.webex.request({
|
|
119
119
|
uri: "".concat(urlVg),
|
|
120
120
|
method: _types.HTTP_METHODS.GET,
|
|
@@ -122,7 +122,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
122
122
|
orgId: this.orgId
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
|
-
case
|
|
125
|
+
case 2:
|
|
126
126
|
response = _context.sent;
|
|
127
127
|
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.trackingid), loggerContext);
|
|
128
128
|
msgInfo = response.body;
|
|
@@ -174,21 +174,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
174
174
|
};
|
|
175
175
|
_Logger.default.log('Successfully retrieved voicemail list', loggerContext);
|
|
176
176
|
return _context.abrupt("return", responseDetails);
|
|
177
|
-
case
|
|
178
|
-
_context.prev =
|
|
179
|
-
|
|
180
|
-
_Logger.default.error("Failed to get voicemail list: ".concat((0, _stringify.default)(
|
|
181
|
-
_context.next =
|
|
177
|
+
case 3:
|
|
178
|
+
_context.prev = 3;
|
|
179
|
+
_t = _context["catch"](1);
|
|
180
|
+
_Logger.default.error("Failed to get voicemail list: ".concat((0, _stringify.default)(_t)), loggerContext);
|
|
181
|
+
_context.next = 4;
|
|
182
182
|
return (0, _Utils.uploadLogs)();
|
|
183
|
-
case
|
|
184
|
-
errorInfo =
|
|
183
|
+
case 4:
|
|
184
|
+
errorInfo = _t;
|
|
185
185
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
186
186
|
return _context.abrupt("return", errorStatus);
|
|
187
|
-
case
|
|
187
|
+
case 5:
|
|
188
188
|
case "end":
|
|
189
189
|
return _context.stop();
|
|
190
190
|
}
|
|
191
|
-
}, _callee, this, [[
|
|
191
|
+
}, _callee, this, [[1, 3]]);
|
|
192
192
|
}));
|
|
193
193
|
function getVoicemailList(_x, _x2, _x3) {
|
|
194
194
|
return _getVoicemailList.apply(this, arguments);
|
|
@@ -203,8 +203,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
203
203
|
key: "getVoicemailContent",
|
|
204
204
|
value: (function () {
|
|
205
205
|
var _getVoicemailContent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(messageId) {
|
|
206
|
-
var loggerContext, response, errorInfo, errorStatus;
|
|
207
|
-
return _regenerator.default.wrap(function
|
|
206
|
+
var loggerContext, response, errorInfo, errorStatus, _t2;
|
|
207
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
208
208
|
while (1) switch (_context2.prev = _context2.next) {
|
|
209
209
|
case 0:
|
|
210
210
|
loggerContext = {
|
|
@@ -212,29 +212,29 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
212
212
|
method: _constants2.METHODS.GET_VOICEMAIL_CONTENT
|
|
213
213
|
};
|
|
214
214
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
215
|
-
_context2.prev =
|
|
216
|
-
_context2.next =
|
|
215
|
+
_context2.prev = 1;
|
|
216
|
+
_context2.next = 2;
|
|
217
217
|
return this.getVoicemailContentUcm(messageId);
|
|
218
|
-
case
|
|
218
|
+
case 2:
|
|
219
219
|
response = _context2.sent;
|
|
220
220
|
_Logger.default.log("Successfully retrieved voicemail content with Message ID: ".concat(messageId), loggerContext);
|
|
221
221
|
return _context2.abrupt("return", response);
|
|
222
|
-
case
|
|
223
|
-
_context2.prev =
|
|
224
|
-
|
|
225
|
-
_Logger.default.error("Failed to get voicemail content: ".concat((0, _stringify.default)(
|
|
226
|
-
_context2.next =
|
|
222
|
+
case 3:
|
|
223
|
+
_context2.prev = 3;
|
|
224
|
+
_t2 = _context2["catch"](1);
|
|
225
|
+
_Logger.default.error("Failed to get voicemail content: ".concat((0, _stringify.default)(_t2)), loggerContext);
|
|
226
|
+
_context2.next = 4;
|
|
227
227
|
return (0, _Utils.uploadLogs)();
|
|
228
|
-
case
|
|
229
|
-
errorInfo =
|
|
228
|
+
case 4:
|
|
229
|
+
errorInfo = _t2;
|
|
230
230
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
231
231
|
_Logger.default.info("Voice mail content error is ".concat(errorStatus), loggerContext);
|
|
232
232
|
return _context2.abrupt("return", errorStatus);
|
|
233
|
-
case
|
|
233
|
+
case 5:
|
|
234
234
|
case "end":
|
|
235
235
|
return _context2.stop();
|
|
236
236
|
}
|
|
237
|
-
}, _callee2, this, [[
|
|
237
|
+
}, _callee2, this, [[1, 3]]);
|
|
238
238
|
}));
|
|
239
239
|
function getVoicemailContent(_x4) {
|
|
240
240
|
return _getVoicemailContent.apply(this, arguments);
|
|
@@ -250,7 +250,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
250
250
|
key: "getVoicemailSummary",
|
|
251
251
|
value: (function () {
|
|
252
252
|
var _getVoicemailSummary = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
253
|
-
return _regenerator.default.wrap(function
|
|
253
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
254
254
|
while (1) switch (_context3.prev = _context3.next) {
|
|
255
255
|
case 0:
|
|
256
256
|
return _context3.abrupt("return", _promise.default.resolve(null));
|
|
@@ -275,7 +275,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
275
275
|
var _getVoicemailContentUcm = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(messageId) {
|
|
276
276
|
var _this2 = this;
|
|
277
277
|
var loggerContext;
|
|
278
|
-
return _regenerator.default.wrap(function
|
|
278
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
279
279
|
while (1) switch (_context5.prev = _context5.next) {
|
|
280
280
|
case 0:
|
|
281
281
|
loggerContext = {
|
|
@@ -295,14 +295,14 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
295
295
|
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(event) {
|
|
296
296
|
var _responseEvent$data;
|
|
297
297
|
var responseEvent, voicemailContentUrl, response;
|
|
298
|
-
return _regenerator.default.wrap(function
|
|
298
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
299
299
|
while (1) switch (_context4.prev = _context4.next) {
|
|
300
300
|
case 0:
|
|
301
301
|
responseEvent = event;
|
|
302
302
|
voicemailContentUrl = "".concat(_this2.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(responseEvent === null || responseEvent === void 0 ? void 0 : (_responseEvent$data = responseEvent.data) === null || _responseEvent$data === void 0 ? void 0 : _responseEvent$data.messageId, "/").concat(_constants.CONTENT);
|
|
303
|
-
_context4.next =
|
|
303
|
+
_context4.next = 1;
|
|
304
304
|
return _this2.returnUcmPromise(voicemailContentUrl, mercuryApi);
|
|
305
|
-
case
|
|
305
|
+
case 1:
|
|
306
306
|
response = _context4.sent;
|
|
307
307
|
if (response.statusCode === 200) {
|
|
308
308
|
_this2.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');
|
|
@@ -311,7 +311,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
311
311
|
_this2.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');
|
|
312
312
|
reject(response);
|
|
313
313
|
}
|
|
314
|
-
case
|
|
314
|
+
case 2:
|
|
315
315
|
case "end":
|
|
316
316
|
return _context4.stop();
|
|
317
317
|
}
|
|
@@ -328,7 +328,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
328
328
|
reject(err);
|
|
329
329
|
});
|
|
330
330
|
}));
|
|
331
|
-
case
|
|
331
|
+
case 1:
|
|
332
332
|
case "end":
|
|
333
333
|
return _context5.stop();
|
|
334
334
|
}
|
|
@@ -350,7 +350,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
350
350
|
var _returnUcmPromise = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(voicemailContentUrl, mercuryApi) {
|
|
351
351
|
var _response$headers2;
|
|
352
352
|
var loggerContext, response, contentInfo, respHeaders, statusCode, mediaType, mediaContent, responseDetails;
|
|
353
|
-
return _regenerator.default.wrap(function
|
|
353
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
354
354
|
while (1) switch (_context6.prev = _context6.next) {
|
|
355
355
|
case 0:
|
|
356
356
|
loggerContext = {
|
|
@@ -358,7 +358,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
358
358
|
method: _constants2.METHODS.RETURN_UCM_PROMISE
|
|
359
359
|
};
|
|
360
360
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
361
|
-
_context6.next =
|
|
361
|
+
_context6.next = 1;
|
|
362
362
|
return this.webex.request({
|
|
363
363
|
uri: "".concat(voicemailContentUrl),
|
|
364
364
|
method: _types.HTTP_METHODS.GET,
|
|
@@ -368,7 +368,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
368
368
|
mercuryHostname: mercuryApi
|
|
369
369
|
}
|
|
370
370
|
});
|
|
371
|
-
case
|
|
371
|
+
case 1:
|
|
372
372
|
response = _context6.sent;
|
|
373
373
|
_Logger.default.log("Response code: ".concat(response.statusCode), loggerContext);
|
|
374
374
|
_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);
|
|
@@ -392,7 +392,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
392
392
|
responseDetails.message = _constants.FAILURE_MESSAGE;
|
|
393
393
|
}
|
|
394
394
|
return _context6.abrupt("return", responseDetails);
|
|
395
|
-
case
|
|
395
|
+
case 2:
|
|
396
396
|
case "end":
|
|
397
397
|
return _context6.stop();
|
|
398
398
|
}
|
|
@@ -411,8 +411,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
411
411
|
key: "voicemailMarkAsRead",
|
|
412
412
|
value: (function () {
|
|
413
413
|
var _voicemailMarkAsRead = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(messageId) {
|
|
414
|
-
var loggerContext, _response$headers3, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
415
|
-
return _regenerator.default.wrap(function
|
|
414
|
+
var loggerContext, _response$headers3, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t3;
|
|
415
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
416
416
|
while (1) switch (_context7.prev = _context7.next) {
|
|
417
417
|
case 0:
|
|
418
418
|
loggerContext = {
|
|
@@ -420,9 +420,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
420
420
|
method: _constants2.METHODS.VOICEMAIL_MARK_AS_READ
|
|
421
421
|
};
|
|
422
422
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
423
|
-
_context7.prev =
|
|
423
|
+
_context7.prev = 1;
|
|
424
424
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
425
|
-
_context7.next =
|
|
425
|
+
_context7.next = 2;
|
|
426
426
|
return this.webex.request({
|
|
427
427
|
uri: voicemailContentUrl,
|
|
428
428
|
method: _types.HTTP_METHODS.PUT,
|
|
@@ -433,7 +433,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
433
433
|
read: 'true'
|
|
434
434
|
}
|
|
435
435
|
});
|
|
436
|
-
case
|
|
436
|
+
case 2:
|
|
437
437
|
response = _context7.sent;
|
|
438
438
|
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers3 = response.headers) === null || _response$headers3 === void 0 ? void 0 : _response$headers3.trackingid), loggerContext);
|
|
439
439
|
responseDetails = {
|
|
@@ -443,21 +443,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
443
443
|
};
|
|
444
444
|
_Logger.default.log('Successfully marked voicemail as read', loggerContext);
|
|
445
445
|
return _context7.abrupt("return", responseDetails);
|
|
446
|
-
case
|
|
447
|
-
_context7.prev =
|
|
448
|
-
|
|
449
|
-
_Logger.default.error("Failed to mark voicemail as read: ".concat((0, _stringify.default)(
|
|
450
|
-
_context7.next =
|
|
446
|
+
case 3:
|
|
447
|
+
_context7.prev = 3;
|
|
448
|
+
_t3 = _context7["catch"](1);
|
|
449
|
+
_Logger.default.error("Failed to mark voicemail as read: ".concat((0, _stringify.default)(_t3)), loggerContext);
|
|
450
|
+
_context7.next = 4;
|
|
451
451
|
return (0, _Utils.uploadLogs)();
|
|
452
|
-
case
|
|
453
|
-
errorInfo =
|
|
452
|
+
case 4:
|
|
453
|
+
errorInfo = _t3;
|
|
454
454
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
455
455
|
return _context7.abrupt("return", errorStatus);
|
|
456
|
-
case
|
|
456
|
+
case 5:
|
|
457
457
|
case "end":
|
|
458
458
|
return _context7.stop();
|
|
459
459
|
}
|
|
460
|
-
}, _callee7, this, [[
|
|
460
|
+
}, _callee7, this, [[1, 3]]);
|
|
461
461
|
}));
|
|
462
462
|
function voicemailMarkAsRead(_x9) {
|
|
463
463
|
return _voicemailMarkAsRead.apply(this, arguments);
|
|
@@ -472,8 +472,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
472
472
|
key: "voicemailMarkAsUnread",
|
|
473
473
|
value: (function () {
|
|
474
474
|
var _voicemailMarkAsUnread = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(messageId) {
|
|
475
|
-
var loggerContext, _response$headers4, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
476
|
-
return _regenerator.default.wrap(function
|
|
475
|
+
var loggerContext, _response$headers4, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t4;
|
|
476
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
477
477
|
while (1) switch (_context8.prev = _context8.next) {
|
|
478
478
|
case 0:
|
|
479
479
|
loggerContext = {
|
|
@@ -481,9 +481,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
481
481
|
method: _constants2.METHODS.VOICEMAIL_MARK_AS_UNREAD
|
|
482
482
|
};
|
|
483
483
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
484
|
-
_context8.prev =
|
|
484
|
+
_context8.prev = 1;
|
|
485
485
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
486
|
-
_context8.next =
|
|
486
|
+
_context8.next = 2;
|
|
487
487
|
return this.webex.request({
|
|
488
488
|
uri: voicemailContentUrl,
|
|
489
489
|
method: _types.HTTP_METHODS.PUT,
|
|
@@ -494,7 +494,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
494
494
|
read: 'false'
|
|
495
495
|
}
|
|
496
496
|
});
|
|
497
|
-
case
|
|
497
|
+
case 2:
|
|
498
498
|
response = _context8.sent;
|
|
499
499
|
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers4 = response.headers) === null || _response$headers4 === void 0 ? void 0 : _response$headers4.trackingid), loggerContext);
|
|
500
500
|
responseDetails = {
|
|
@@ -504,21 +504,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
504
504
|
};
|
|
505
505
|
_Logger.default.log('Successfully marked voicemail as unread', loggerContext);
|
|
506
506
|
return _context8.abrupt("return", responseDetails);
|
|
507
|
-
case
|
|
508
|
-
_context8.prev =
|
|
509
|
-
|
|
510
|
-
_Logger.default.error("Failed to mark voicemail as unread: ".concat((0, _stringify.default)(
|
|
511
|
-
_context8.next =
|
|
507
|
+
case 3:
|
|
508
|
+
_context8.prev = 3;
|
|
509
|
+
_t4 = _context8["catch"](1);
|
|
510
|
+
_Logger.default.error("Failed to mark voicemail as unread: ".concat((0, _stringify.default)(_t4)), loggerContext);
|
|
511
|
+
_context8.next = 4;
|
|
512
512
|
return (0, _Utils.uploadLogs)();
|
|
513
|
-
case
|
|
514
|
-
errorInfo =
|
|
513
|
+
case 4:
|
|
514
|
+
errorInfo = _t4;
|
|
515
515
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
516
516
|
return _context8.abrupt("return", errorStatus);
|
|
517
|
-
case
|
|
517
|
+
case 5:
|
|
518
518
|
case "end":
|
|
519
519
|
return _context8.stop();
|
|
520
520
|
}
|
|
521
|
-
}, _callee8, this, [[
|
|
521
|
+
}, _callee8, this, [[1, 3]]);
|
|
522
522
|
}));
|
|
523
523
|
function voicemailMarkAsUnread(_x0) {
|
|
524
524
|
return _voicemailMarkAsUnread.apply(this, arguments);
|
|
@@ -533,8 +533,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
533
533
|
key: "deleteVoicemail",
|
|
534
534
|
value: (function () {
|
|
535
535
|
var _deleteVoicemail = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(messageId) {
|
|
536
|
-
var loggerContext, _response$headers5, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
537
|
-
return _regenerator.default.wrap(function
|
|
536
|
+
var loggerContext, _response$headers5, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t5;
|
|
537
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
538
538
|
while (1) switch (_context9.prev = _context9.next) {
|
|
539
539
|
case 0:
|
|
540
540
|
loggerContext = {
|
|
@@ -542,9 +542,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
542
542
|
method: _constants2.METHODS.DELETE_VOICEMAIL
|
|
543
543
|
};
|
|
544
544
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
545
|
-
_context9.prev =
|
|
545
|
+
_context9.prev = 1;
|
|
546
546
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
547
|
-
_context9.next =
|
|
547
|
+
_context9.next = 2;
|
|
548
548
|
return this.webex.request({
|
|
549
549
|
uri: voicemailContentUrl,
|
|
550
550
|
method: _types.HTTP_METHODS.DELETE,
|
|
@@ -552,7 +552,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
552
552
|
orgId: this.orgId
|
|
553
553
|
}
|
|
554
554
|
});
|
|
555
|
-
case
|
|
555
|
+
case 2:
|
|
556
556
|
response = _context9.sent;
|
|
557
557
|
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers5 = response.headers) === null || _response$headers5 === void 0 ? void 0 : _response$headers5.trackingid), loggerContext);
|
|
558
558
|
responseDetails = {
|
|
@@ -562,21 +562,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
562
562
|
};
|
|
563
563
|
_Logger.default.log('Successfully deleted voicemail', loggerContext);
|
|
564
564
|
return _context9.abrupt("return", responseDetails);
|
|
565
|
-
case
|
|
566
|
-
_context9.prev =
|
|
567
|
-
|
|
568
|
-
_Logger.default.error("Failed to delete voicemail: ".concat((0, _stringify.default)(
|
|
569
|
-
_context9.next =
|
|
565
|
+
case 3:
|
|
566
|
+
_context9.prev = 3;
|
|
567
|
+
_t5 = _context9["catch"](1);
|
|
568
|
+
_Logger.default.error("Failed to delete voicemail: ".concat((0, _stringify.default)(_t5)), loggerContext);
|
|
569
|
+
_context9.next = 4;
|
|
570
570
|
return (0, _Utils.uploadLogs)();
|
|
571
|
-
case
|
|
572
|
-
errorInfo =
|
|
571
|
+
case 4:
|
|
572
|
+
errorInfo = _t5;
|
|
573
573
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
574
574
|
return _context9.abrupt("return", errorStatus);
|
|
575
|
-
case
|
|
575
|
+
case 5:
|
|
576
576
|
case "end":
|
|
577
577
|
return _context9.stop();
|
|
578
578
|
}
|
|
579
|
-
}, _callee9, this, [[
|
|
579
|
+
}, _callee9, this, [[1, 3]]);
|
|
580
580
|
}));
|
|
581
581
|
function deleteVoicemail(_x1) {
|
|
582
582
|
return _deleteVoicemail.apply(this, arguments);
|
|
@@ -594,12 +594,12 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
594
594
|
key: "getVMTranscript",
|
|
595
595
|
value: (function () {
|
|
596
596
|
var _getVMTranscript = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(messageId) {
|
|
597
|
-
return _regenerator.default.wrap(function
|
|
597
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
598
598
|
while (1) switch (_context0.prev = _context0.next) {
|
|
599
599
|
case 0:
|
|
600
600
|
_Logger.default.info("Message Id: ".concat(messageId), {});
|
|
601
601
|
return _context0.abrupt("return", _promise.default.resolve(null));
|
|
602
|
-
case
|
|
602
|
+
case 1:
|
|
603
603
|
case "end":
|
|
604
604
|
return _context0.stop();
|
|
605
605
|
}
|
|
@@ -624,6 +624,5 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
624
624
|
return _promise.default.resolve(null);
|
|
625
625
|
}
|
|
626
626
|
}]);
|
|
627
|
-
return UcmBackendConnector;
|
|
628
627
|
}();
|
|
629
628
|
//# sourceMappingURL=UcmBackendConnector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Utils","_constants","_Logger","_constants2","UcmBackendConnector","exports","webex","logger","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","userId","internal","device","orgId","log","setLogger","level","UCM_CONNECTOR_FILE","_createClass2","key","value","init","loggerContext","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","response","setUcmVoiceMessageBaseURI","getSDKConnector","SET_UCM_VOICE_MESSAGE_BASE_URI","vgEndpoint","getVgActionEndpoint","CALLING_BACKEND","UCM","vgVoiceMessageURI","concat","VMGATEWAY","API_V1","USERS","_getVoicemailList","_asyncToGenerator2","_regenerator","mark","_callee","offset","offsetLimit","sort","_this","urlVg","_response$headers","msgInfo","messageinfoArray","ucmVmMsgInfo","responseDetails","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","GET_VOICEMAIL_LIST","VOICEMAILS","OFFSET","LIMIT","SORT_ORDER","request","uri","HTTP_METHODS","GET","headers","sent","trackingid","body","Message","forEach","msgInfoObj","message","stringObj","numberObj","$","Duration","duration","Number","ArrivalTime","time","MsgId","messageId","Read","read","callerIdObj","CallerId","callingParty","CallerName","name","CallerNumber","address","callingPartyInfo","push","statusCode","data","voicemailList","SUCCESS_MESSAGE","abrupt","t0","error","_stringify","uploadLogs","serviceErrorCodeHandler","stop","getVoicemailList","_x","_x2","_x3","apply","arguments","_getVoicemailContent","_callee2","_callee2$","_context2","GET_VOICEMAIL_CONTENT","getVoicemailContentUcm","getVoicemailContent","_x4","_getVoicemailSummary","_callee3","_callee3$","_context3","_promise","resolve","getVoicemailSummary","_getVoicemailContentUcm","_callee5","_this2","_callee5$","_context5","GET_VOICEMAIL_CONTENT_UCM","reject","_this2$webex$internal","voicemailContentUrl","CONTENT","mercuryApi","services","_serviceUrls","get","_activeServices","returnUcmPromise","then","registerListener","_ref","_callee4","event","_responseEvent$data","responseEvent","_callee4$","_context4","unregisterListener","_x6","catch","err","_x5","_returnUcmPromise","_callee6","_response$headers2","contentInfo","respHeaders","mediaType","mediaContent","_callee6$","_context6","RETURN_UCM_PROMISE","deviceUrl","url","mercuryHostname","mediatype","voicemailContent","type","content","FAILURE_MESSAGE","_x7","_x8","_voicemailMarkAsRead","_callee7","_response$headers3","_callee7$","_context7","VOICEMAIL_MARK_AS_READ","PUT","voicemailMarkAsRead","_x9","_voicemailMarkAsUnread","_callee8","_response$headers4","_callee8$","_context8","VOICEMAIL_MARK_AS_UNREAD","voicemailMarkAsUnread","_x0","_deleteVoicemail","_callee9","_response$headers5","_callee9$","_context9","DELETE_VOICEMAIL","DELETE","deleteVoicemail","_x1","_getVMTranscript","_callee0","_callee0$","_context0","getVMTranscript","_x10","resolveContact"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n WebexRequestPayload,\n SORT,\n HTTP_METHODS,\n DisplayInformation,\n CALLING_BACKEND,\n} from '../common/types';\nimport {getVgActionEndpoint, serviceErrorCodeHandler, uploadLogs} from '../common/Utils';\nimport {\n SUCCESS_MESSAGE,\n USERS,\n CONTENT,\n UCM_CONNECTOR_FILE,\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport log from '../Logger';\nimport {API_V1, LIMIT, METHODS, OFFSET, SORT_ORDER, VMGATEWAY, VOICEMAILS} from './constants';\nimport {\n CallingPartyInfo,\n IUcmBackendConnector,\n LoggerInterface,\n MessageInfo,\n UcmVmMessageInfo,\n UcmVMResponse,\n VoicemailResponseEvent,\n UcmVMContentResponse,\n VoicemailEvent,\n ResponseString$,\n ResponseNumber$,\n} from './types';\n\n/**\n *\n */\nexport class UcmBackendConnector implements IUcmBackendConnector {\n public vgEndpoint!: string | unknown;\n\n public userId!: string;\n\n public orgId!: string;\n\n private sdkConnector!: ISDKConnector;\n\n private webex: WebexSDK;\n\n private vgVoiceMessageURI!: string;\n\n /**\n * @param webex - Webex object to get the userid, service urls, etc...\n * @param logger - Logger to set logger level.\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n /* istanbul ignore else */\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.userId = this.webex.internal.device.userId;\n this.orgId = this.webex.internal.device.orgId;\n log.setLogger(logger.level, UCM_CONNECTOR_FILE);\n }\n\n /**\n *\n */\n public init() {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.INIT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const response = this.setUcmVoiceMessageBaseURI();\n log.log('UCM calling voicemail connector initialized successfully', loggerContext);\n\n return response as unknown as VoicemailResponseEvent;\n }\n\n /**\n *\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\n *\n */\n private setUcmVoiceMessageBaseURI() {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_UCM_VOICE_MESSAGE_BASE_URI,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n this.vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n this.vgVoiceMessageURI = `${this.vgEndpoint}/${VMGATEWAY}/${API_V1}/${USERS}/${this.userId}/`;\n\n return this.vgVoiceMessageURI;\n }\n\n /**\n * Fetch voicemail list for UCM users.\n *\n * @param offset - Number of records to skip. TODO: Once we start implementing pagination.\n * @param offsetLimit - Number of voicemail list to fetch. TODO: Once we start implementing pagination.\n * @param sort - Sort voicemail list (ASC | DESC). TODO: Once we start implementing sorting.\n * @returns Promise.\n */\n public async getVoicemailList(offset: number, offsetLimit: number, sort: SORT) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with Offset: ${offset} Offset limit: ${offsetLimit} Sort type:${sort}`,\n loggerContext\n );\n const urlVg = `${this.vgVoiceMessageURI}${VOICEMAILS}/${OFFSET}=${offset}${LIMIT}=${offsetLimit}${SORT_ORDER}=${sort}`;\n\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${urlVg}`,\n method: HTTP_METHODS.GET,\n headers: {\n orgId: this.orgId,\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const msgInfo = response.body as UcmVMResponse;\n const messageinfoArray: MessageInfo[] = [];\n const ucmVmMsgInfo = msgInfo.Message as unknown as UcmVmMessageInfo[];\n\n ucmVmMsgInfo.forEach((msgInfoObj) => {\n const message = {} as MessageInfo;\n let stringObj = {} as ResponseString$;\n const numberObj = {} as ResponseNumber$;\n\n stringObj.$ = msgInfoObj.Duration;\n message.duration = stringObj;\n numberObj.$ = Number(msgInfoObj.ArrivalTime);\n message.time = numberObj;\n stringObj = {$: ''};\n stringObj.$ = msgInfoObj.MsgId;\n message.messageId = stringObj;\n /* istanbul ignore else */\n if (msgInfoObj.Read === 'true') {\n message.read = {};\n }\n const callerIdObj = msgInfoObj.CallerId;\n const callingParty = {} as CallingPartyInfo;\n\n stringObj = {$: ''};\n stringObj.$ = callerIdObj.CallerName;\n callingParty.name = stringObj;\n stringObj = {$: ''};\n stringObj.$ = this.userId;\n callingParty.userId = stringObj;\n stringObj = {$: ''};\n stringObj.$ = callerIdObj.CallerNumber;\n callingParty.address = stringObj;\n message.callingPartyInfo = callingParty;\n messageinfoArray.push(message);\n });\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {\n voicemailList: messageinfoArray,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully retrieved voicemail list', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail list: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to get voicemail content.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const response = (await this.getVoicemailContentUcm(messageId)) as VoicemailResponseEvent;\n\n log.log(\n `Successfully retrieved voicemail content with Message ID: ${messageId}`,\n loggerContext\n );\n\n return response as VoicemailResponseEvent;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail content: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n log.info(`Voice mail content error is ${errorStatus}`, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetches a quantitative summary of voicemails for a user.\n * Not implemented for this connector.\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n return Promise.resolve(null);\n }\n\n /**\n * @param messageId - MessageId from voicemail list api to get voicemail content.\n */\n public async getVoicemailContentUcm(messageId: string) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT_UCM,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n return new Promise((resolve, reject) => {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}/${CONTENT}`;\n const mercuryApi =\n this.webex.internal.services._serviceUrls?.mercuryApi ||\n this.webex.internal.services.get(this.webex.internal.services._activeServices.mercuryApi);\n\n this.returnUcmPromise(voicemailContentUrl, mercuryApi)\n .then((response: VoicemailResponseEvent) => {\n if (response.statusCode === 200) {\n resolve(response);\n } else if (response.statusCode === 202) {\n this.sdkConnector.registerListener(\n 'event:ucm.voicemail_download_complete',\n async (event) => {\n const responseEvent = event as VoicemailEvent;\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${responseEvent?.data?.messageId}/${CONTENT}`;\n const response = await this.returnUcmPromise(voicemailContentUrl, mercuryApi);\n\n if (response.statusCode === 200) {\n this.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');\n resolve(response);\n } else {\n this.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');\n reject(response);\n }\n }\n );\n } else {\n reject(response);\n }\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n /**\n * @param voicemailContentUrl - Voicemail Content Url to get voicemail content.\n * @param mercuryApi - MercuryApi from webex serviceUrls.\n */\n async returnUcmPromise(voicemailContentUrl: string, mercuryApi: string) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.RETURN_UCM_PROMISE,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${voicemailContentUrl}`,\n method: HTTP_METHODS.GET,\n headers: {\n orgId: this.orgId,\n deviceUrl: this.webex.internal.device.url,\n mercuryHostname: mercuryApi,\n },\n });\n\n log.log(`Response code: ${response.statusCode}`, loggerContext);\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const contentInfo = response?.body as UcmVMContentResponse;\n const respHeaders = response.headers;\n const statusCode = response.statusCode;\n const mediaType = respHeaders?.mediatype as string;\n const mediaContent = contentInfo as string;\n const responseDetails = {\n statusCode: Number(statusCode),\n data: {\n voicemailContent: {\n type: mediaType,\n content: mediaContent,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n /* istanbul ignore else */\n if (statusCode !== 200 && statusCode !== 202) {\n responseDetails.message = FAILURE_MESSAGE;\n }\n\n return responseDetails;\n }\n\n /**\n * @param messageId - MessageId from voicemail list api to get voicemail mark as read.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId: this.orgId,\n },\n body: {\n read: 'true',\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully marked voicemail as read', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to mark voicemail as read: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to get voicemail mark as unread.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId: this.orgId,\n },\n body: {\n read: 'false',\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully marked voicemail as unread', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to mark voicemail as unread: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to delete voicemail.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.DELETE,\n headers: {\n orgId: this.orgId,\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully deleted voicemail', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to delete voicemail: ${JSON.stringify(err)}`, loggerContext);\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 * Fetch voicemail transcripts for given messageId\n * Not implemented for this connector.\n *\n * @param messageId - MessageId to fetch voicemail transcript.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n log.info(`Message Id: ${messageId}`, {});\n\n return Promise.resolve(null);\n }\n\n /**\n * Resolve the Contact from userId or display name.\n * Not implemented for this connector.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n log.info(`Calling Party Info: ${callingPartyInfo}`, {});\n\n return Promise.resolve(null);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Utils","_constants","_Logger","_constants2","UcmBackendConnector","exports","webex","logger","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","userId","internal","device","orgId","log","setLogger","level","UCM_CONNECTOR_FILE","_createClass2","key","value","init","loggerContext","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","response","setUcmVoiceMessageBaseURI","getSDKConnector","SET_UCM_VOICE_MESSAGE_BASE_URI","vgEndpoint","getVgActionEndpoint","CALLING_BACKEND","UCM","vgVoiceMessageURI","concat","VMGATEWAY","API_V1","USERS","_getVoicemailList","_asyncToGenerator2","_regenerator","mark","_callee","offset","offsetLimit","sort","_this","urlVg","_response$headers","msgInfo","messageinfoArray","ucmVmMsgInfo","responseDetails","errorInfo","errorStatus","_t","wrap","_context","prev","next","GET_VOICEMAIL_LIST","VOICEMAILS","OFFSET","LIMIT","SORT_ORDER","request","uri","HTTP_METHODS","GET","headers","sent","trackingid","body","Message","forEach","msgInfoObj","message","stringObj","numberObj","$","Duration","duration","Number","ArrivalTime","time","MsgId","messageId","Read","read","callerIdObj","CallerId","callingParty","CallerName","name","CallerNumber","address","callingPartyInfo","push","statusCode","data","voicemailList","SUCCESS_MESSAGE","abrupt","error","_stringify","uploadLogs","serviceErrorCodeHandler","stop","getVoicemailList","_x","_x2","_x3","apply","arguments","_getVoicemailContent","_callee2","_t2","_context2","GET_VOICEMAIL_CONTENT","getVoicemailContentUcm","getVoicemailContent","_x4","_getVoicemailSummary","_callee3","_context3","_promise","resolve","getVoicemailSummary","_getVoicemailContentUcm","_callee5","_this2","_context5","GET_VOICEMAIL_CONTENT_UCM","reject","_this2$webex$internal","voicemailContentUrl","CONTENT","mercuryApi","services","_serviceUrls","get","_activeServices","returnUcmPromise","then","registerListener","_ref","_callee4","event","_responseEvent$data","responseEvent","_context4","unregisterListener","_x6","catch","err","_x5","_returnUcmPromise","_callee6","_response$headers2","contentInfo","respHeaders","mediaType","mediaContent","_context6","RETURN_UCM_PROMISE","deviceUrl","url","mercuryHostname","mediatype","voicemailContent","type","content","FAILURE_MESSAGE","_x7","_x8","_voicemailMarkAsRead","_callee7","_response$headers3","_t3","_context7","VOICEMAIL_MARK_AS_READ","PUT","voicemailMarkAsRead","_x9","_voicemailMarkAsUnread","_callee8","_response$headers4","_t4","_context8","VOICEMAIL_MARK_AS_UNREAD","voicemailMarkAsUnread","_x0","_deleteVoicemail","_callee9","_response$headers5","_t5","_context9","DELETE_VOICEMAIL","DELETE","deleteVoicemail","_x1","_getVMTranscript","_callee0","_context0","getVMTranscript","_x10","resolveContact"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n WebexRequestPayload,\n SORT,\n HTTP_METHODS,\n DisplayInformation,\n CALLING_BACKEND,\n} from '../common/types';\nimport {getVgActionEndpoint, serviceErrorCodeHandler, uploadLogs} from '../common/Utils';\nimport {\n SUCCESS_MESSAGE,\n USERS,\n CONTENT,\n UCM_CONNECTOR_FILE,\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport log from '../Logger';\nimport {API_V1, LIMIT, METHODS, OFFSET, SORT_ORDER, VMGATEWAY, VOICEMAILS} from './constants';\nimport {\n CallingPartyInfo,\n IUcmBackendConnector,\n LoggerInterface,\n MessageInfo,\n UcmVmMessageInfo,\n UcmVMResponse,\n VoicemailResponseEvent,\n UcmVMContentResponse,\n VoicemailEvent,\n ResponseString$,\n ResponseNumber$,\n} from './types';\n\n/**\n *\n */\nexport class UcmBackendConnector implements IUcmBackendConnector {\n public vgEndpoint!: string | unknown;\n\n public userId!: string;\n\n public orgId!: string;\n\n private sdkConnector!: ISDKConnector;\n\n private webex: WebexSDK;\n\n private vgVoiceMessageURI!: string;\n\n /**\n * @param webex - Webex object to get the userid, service urls, etc...\n * @param logger - Logger to set logger level.\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n /* istanbul ignore else */\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.userId = this.webex.internal.device.userId;\n this.orgId = this.webex.internal.device.orgId;\n log.setLogger(logger.level, UCM_CONNECTOR_FILE);\n }\n\n /**\n *\n */\n public init() {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.INIT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const response = this.setUcmVoiceMessageBaseURI();\n log.log('UCM calling voicemail connector initialized successfully', loggerContext);\n\n return response as unknown as VoicemailResponseEvent;\n }\n\n /**\n *\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\n *\n */\n private setUcmVoiceMessageBaseURI() {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_UCM_VOICE_MESSAGE_BASE_URI,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n this.vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n this.vgVoiceMessageURI = `${this.vgEndpoint}/${VMGATEWAY}/${API_V1}/${USERS}/${this.userId}/`;\n\n return this.vgVoiceMessageURI;\n }\n\n /**\n * Fetch voicemail list for UCM users.\n *\n * @param offset - Number of records to skip. TODO: Once we start implementing pagination.\n * @param offsetLimit - Number of voicemail list to fetch. TODO: Once we start implementing pagination.\n * @param sort - Sort voicemail list (ASC | DESC). TODO: Once we start implementing sorting.\n * @returns Promise.\n */\n public async getVoicemailList(offset: number, offsetLimit: number, sort: SORT) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with Offset: ${offset} Offset limit: ${offsetLimit} Sort type:${sort}`,\n loggerContext\n );\n const urlVg = `${this.vgVoiceMessageURI}${VOICEMAILS}/${OFFSET}=${offset}${LIMIT}=${offsetLimit}${SORT_ORDER}=${sort}`;\n\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${urlVg}`,\n method: HTTP_METHODS.GET,\n headers: {\n orgId: this.orgId,\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const msgInfo = response.body as UcmVMResponse;\n const messageinfoArray: MessageInfo[] = [];\n const ucmVmMsgInfo = msgInfo.Message as unknown as UcmVmMessageInfo[];\n\n ucmVmMsgInfo.forEach((msgInfoObj) => {\n const message = {} as MessageInfo;\n let stringObj = {} as ResponseString$;\n const numberObj = {} as ResponseNumber$;\n\n stringObj.$ = msgInfoObj.Duration;\n message.duration = stringObj;\n numberObj.$ = Number(msgInfoObj.ArrivalTime);\n message.time = numberObj;\n stringObj = {$: ''};\n stringObj.$ = msgInfoObj.MsgId;\n message.messageId = stringObj;\n /* istanbul ignore else */\n if (msgInfoObj.Read === 'true') {\n message.read = {};\n }\n const callerIdObj = msgInfoObj.CallerId;\n const callingParty = {} as CallingPartyInfo;\n\n stringObj = {$: ''};\n stringObj.$ = callerIdObj.CallerName;\n callingParty.name = stringObj;\n stringObj = {$: ''};\n stringObj.$ = this.userId;\n callingParty.userId = stringObj;\n stringObj = {$: ''};\n stringObj.$ = callerIdObj.CallerNumber;\n callingParty.address = stringObj;\n message.callingPartyInfo = callingParty;\n messageinfoArray.push(message);\n });\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {\n voicemailList: messageinfoArray,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully retrieved voicemail list', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail list: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to get voicemail content.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const response = (await this.getVoicemailContentUcm(messageId)) as VoicemailResponseEvent;\n\n log.log(\n `Successfully retrieved voicemail content with Message ID: ${messageId}`,\n loggerContext\n );\n\n return response as VoicemailResponseEvent;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail content: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n log.info(`Voice mail content error is ${errorStatus}`, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetches a quantitative summary of voicemails for a user.\n * Not implemented for this connector.\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n return Promise.resolve(null);\n }\n\n /**\n * @param messageId - MessageId from voicemail list api to get voicemail content.\n */\n public async getVoicemailContentUcm(messageId: string) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT_UCM,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n return new Promise((resolve, reject) => {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}/${CONTENT}`;\n const mercuryApi =\n this.webex.internal.services._serviceUrls?.mercuryApi ||\n this.webex.internal.services.get(this.webex.internal.services._activeServices.mercuryApi);\n\n this.returnUcmPromise(voicemailContentUrl, mercuryApi)\n .then((response: VoicemailResponseEvent) => {\n if (response.statusCode === 200) {\n resolve(response);\n } else if (response.statusCode === 202) {\n this.sdkConnector.registerListener(\n 'event:ucm.voicemail_download_complete',\n async (event) => {\n const responseEvent = event as VoicemailEvent;\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${responseEvent?.data?.messageId}/${CONTENT}`;\n const response = await this.returnUcmPromise(voicemailContentUrl, mercuryApi);\n\n if (response.statusCode === 200) {\n this.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');\n resolve(response);\n } else {\n this.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');\n reject(response);\n }\n }\n );\n } else {\n reject(response);\n }\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n /**\n * @param voicemailContentUrl - Voicemail Content Url to get voicemail content.\n * @param mercuryApi - MercuryApi from webex serviceUrls.\n */\n async returnUcmPromise(voicemailContentUrl: string, mercuryApi: string) {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.RETURN_UCM_PROMISE,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${voicemailContentUrl}`,\n method: HTTP_METHODS.GET,\n headers: {\n orgId: this.orgId,\n deviceUrl: this.webex.internal.device.url,\n mercuryHostname: mercuryApi,\n },\n });\n\n log.log(`Response code: ${response.statusCode}`, loggerContext);\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const contentInfo = response?.body as UcmVMContentResponse;\n const respHeaders = response.headers;\n const statusCode = response.statusCode;\n const mediaType = respHeaders?.mediatype as string;\n const mediaContent = contentInfo as string;\n const responseDetails = {\n statusCode: Number(statusCode),\n data: {\n voicemailContent: {\n type: mediaType,\n content: mediaContent,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n /* istanbul ignore else */\n if (statusCode !== 200 && statusCode !== 202) {\n responseDetails.message = FAILURE_MESSAGE;\n }\n\n return responseDetails;\n }\n\n /**\n * @param messageId - MessageId from voicemail list api to get voicemail mark as read.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId: this.orgId,\n },\n body: {\n read: 'true',\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully marked voicemail as read', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to mark voicemail as read: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to get voicemail mark as unread.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId: this.orgId,\n },\n body: {\n read: 'false',\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully marked voicemail as unread', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to mark voicemail as unread: ${JSON.stringify(err)}`, loggerContext);\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 * @param messageId - MessageId from voicemail list api to delete voicemail.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.vgVoiceMessageURI}${VOICEMAILS}/${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.DELETE,\n headers: {\n orgId: this.orgId,\n },\n });\n\n log.log(`Response trackingId: ${response?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n log.log('Successfully deleted voicemail', loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to delete voicemail: ${JSON.stringify(err)}`, loggerContext);\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 * Fetch voicemail transcripts for given messageId\n * Not implemented for this connector.\n *\n * @param messageId - MessageId to fetch voicemail transcript.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n log.info(`Message Id: ${messageId}`, {});\n\n return Promise.resolve(null);\n }\n\n /**\n * Resolve the Contact from userId or display name.\n * Not implemented for this connector.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n log.info(`Calling Party Info: ${callingPartyInfo}`, {});\n\n return Promise.resolve(null);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|