@webex/calling 3.10.0-next.2 → 3.10.0-next.20
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 +128 -128
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +278 -181
- 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 +137 -138
- 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 +297 -345
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +267 -405
- 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 +655 -611
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +762 -551
- 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 +258 -258
- 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 +129 -128
- 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 +86 -86
- 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 +5 -4
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +7 -3
- package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
- package/dist/module/CallSettings/WxCallBackendConnector.js +3 -1
- package/dist/module/CallingClient/CallingClient.js +83 -121
- package/dist/module/CallingClient/calling/call.js +60 -39
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +82 -2
- package/dist/module/Contacts/ContactsClient.js +9 -5
- package/dist/module/Voicemail/BroadworksBackendConnector.js +3 -1
- package/dist/module/Voicemail/UcmBackendConnector.js +2 -1
- package/dist/module/common/Utils.js +27 -3
- package/dist/module/common/constants.js +2 -0
- package/dist/module/common/testUtil.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +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/Contacts/ContactsClient.d.ts +1 -0
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +16 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/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/dist/types/common/testUtil.d.ts +1 -0
- package/dist/types/common/testUtil.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 = {
|
|
@@ -284,8 +284,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
284
284
|
};
|
|
285
285
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
286
286
|
return _context5.abrupt("return", new _promise.default(function (resolve, reject) {
|
|
287
|
+
var _this2$webex$internal;
|
|
287
288
|
var voicemailContentUrl = "".concat(_this2.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId, "/").concat(_constants.CONTENT);
|
|
288
|
-
var mercuryApi =
|
|
289
|
+
var mercuryApi = ((_this2$webex$internal = _this2.webex.internal.services._serviceUrls) === null || _this2$webex$internal === void 0 ? void 0 : _this2$webex$internal.mercuryApi) || _this2.webex.internal.services.get(_this2.webex.internal.services._activeServices.mercuryApi);
|
|
289
290
|
_this2.returnUcmPromise(voicemailContentUrl, mercuryApi).then(function (response) {
|
|
290
291
|
if (response.statusCode === 200) {
|
|
291
292
|
resolve(response);
|
|
@@ -294,14 +295,14 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
294
295
|
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(event) {
|
|
295
296
|
var _responseEvent$data;
|
|
296
297
|
var responseEvent, voicemailContentUrl, response;
|
|
297
|
-
return _regenerator.default.wrap(function
|
|
298
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
298
299
|
while (1) switch (_context4.prev = _context4.next) {
|
|
299
300
|
case 0:
|
|
300
301
|
responseEvent = event;
|
|
301
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);
|
|
302
|
-
_context4.next =
|
|
303
|
+
_context4.next = 1;
|
|
303
304
|
return _this2.returnUcmPromise(voicemailContentUrl, mercuryApi);
|
|
304
|
-
case
|
|
305
|
+
case 1:
|
|
305
306
|
response = _context4.sent;
|
|
306
307
|
if (response.statusCode === 200) {
|
|
307
308
|
_this2.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');
|
|
@@ -310,7 +311,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
310
311
|
_this2.sdkConnector.unregisterListener('event:ucm.voicemail_download_complete');
|
|
311
312
|
reject(response);
|
|
312
313
|
}
|
|
313
|
-
case
|
|
314
|
+
case 2:
|
|
314
315
|
case "end":
|
|
315
316
|
return _context4.stop();
|
|
316
317
|
}
|
|
@@ -327,7 +328,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
327
328
|
reject(err);
|
|
328
329
|
});
|
|
329
330
|
}));
|
|
330
|
-
case
|
|
331
|
+
case 1:
|
|
331
332
|
case "end":
|
|
332
333
|
return _context5.stop();
|
|
333
334
|
}
|
|
@@ -349,7 +350,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
349
350
|
var _returnUcmPromise = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(voicemailContentUrl, mercuryApi) {
|
|
350
351
|
var _response$headers2;
|
|
351
352
|
var loggerContext, response, contentInfo, respHeaders, statusCode, mediaType, mediaContent, responseDetails;
|
|
352
|
-
return _regenerator.default.wrap(function
|
|
353
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
353
354
|
while (1) switch (_context6.prev = _context6.next) {
|
|
354
355
|
case 0:
|
|
355
356
|
loggerContext = {
|
|
@@ -357,7 +358,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
357
358
|
method: _constants2.METHODS.RETURN_UCM_PROMISE
|
|
358
359
|
};
|
|
359
360
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
360
|
-
_context6.next =
|
|
361
|
+
_context6.next = 1;
|
|
361
362
|
return this.webex.request({
|
|
362
363
|
uri: "".concat(voicemailContentUrl),
|
|
363
364
|
method: _types.HTTP_METHODS.GET,
|
|
@@ -367,7 +368,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
367
368
|
mercuryHostname: mercuryApi
|
|
368
369
|
}
|
|
369
370
|
});
|
|
370
|
-
case
|
|
371
|
+
case 1:
|
|
371
372
|
response = _context6.sent;
|
|
372
373
|
_Logger.default.log("Response code: ".concat(response.statusCode), loggerContext);
|
|
373
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);
|
|
@@ -391,7 +392,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
391
392
|
responseDetails.message = _constants.FAILURE_MESSAGE;
|
|
392
393
|
}
|
|
393
394
|
return _context6.abrupt("return", responseDetails);
|
|
394
|
-
case
|
|
395
|
+
case 2:
|
|
395
396
|
case "end":
|
|
396
397
|
return _context6.stop();
|
|
397
398
|
}
|
|
@@ -410,8 +411,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
410
411
|
key: "voicemailMarkAsRead",
|
|
411
412
|
value: (function () {
|
|
412
413
|
var _voicemailMarkAsRead = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(messageId) {
|
|
413
|
-
var loggerContext, _response$headers3, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
414
|
-
return _regenerator.default.wrap(function
|
|
414
|
+
var loggerContext, _response$headers3, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t3;
|
|
415
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
415
416
|
while (1) switch (_context7.prev = _context7.next) {
|
|
416
417
|
case 0:
|
|
417
418
|
loggerContext = {
|
|
@@ -419,9 +420,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
419
420
|
method: _constants2.METHODS.VOICEMAIL_MARK_AS_READ
|
|
420
421
|
};
|
|
421
422
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
422
|
-
_context7.prev =
|
|
423
|
+
_context7.prev = 1;
|
|
423
424
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
424
|
-
_context7.next =
|
|
425
|
+
_context7.next = 2;
|
|
425
426
|
return this.webex.request({
|
|
426
427
|
uri: voicemailContentUrl,
|
|
427
428
|
method: _types.HTTP_METHODS.PUT,
|
|
@@ -432,7 +433,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
432
433
|
read: 'true'
|
|
433
434
|
}
|
|
434
435
|
});
|
|
435
|
-
case
|
|
436
|
+
case 2:
|
|
436
437
|
response = _context7.sent;
|
|
437
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);
|
|
438
439
|
responseDetails = {
|
|
@@ -442,21 +443,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
442
443
|
};
|
|
443
444
|
_Logger.default.log('Successfully marked voicemail as read', loggerContext);
|
|
444
445
|
return _context7.abrupt("return", responseDetails);
|
|
445
|
-
case
|
|
446
|
-
_context7.prev =
|
|
447
|
-
|
|
448
|
-
_Logger.default.error("Failed to mark voicemail as read: ".concat((0, _stringify.default)(
|
|
449
|
-
_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;
|
|
450
451
|
return (0, _Utils.uploadLogs)();
|
|
451
|
-
case
|
|
452
|
-
errorInfo =
|
|
452
|
+
case 4:
|
|
453
|
+
errorInfo = _t3;
|
|
453
454
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
454
455
|
return _context7.abrupt("return", errorStatus);
|
|
455
|
-
case
|
|
456
|
+
case 5:
|
|
456
457
|
case "end":
|
|
457
458
|
return _context7.stop();
|
|
458
459
|
}
|
|
459
|
-
}, _callee7, this, [[
|
|
460
|
+
}, _callee7, this, [[1, 3]]);
|
|
460
461
|
}));
|
|
461
462
|
function voicemailMarkAsRead(_x9) {
|
|
462
463
|
return _voicemailMarkAsRead.apply(this, arguments);
|
|
@@ -471,8 +472,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
471
472
|
key: "voicemailMarkAsUnread",
|
|
472
473
|
value: (function () {
|
|
473
474
|
var _voicemailMarkAsUnread = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(messageId) {
|
|
474
|
-
var loggerContext, _response$headers4, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
475
|
-
return _regenerator.default.wrap(function
|
|
475
|
+
var loggerContext, _response$headers4, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t4;
|
|
476
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
476
477
|
while (1) switch (_context8.prev = _context8.next) {
|
|
477
478
|
case 0:
|
|
478
479
|
loggerContext = {
|
|
@@ -480,9 +481,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
480
481
|
method: _constants2.METHODS.VOICEMAIL_MARK_AS_UNREAD
|
|
481
482
|
};
|
|
482
483
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
483
|
-
_context8.prev =
|
|
484
|
+
_context8.prev = 1;
|
|
484
485
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
485
|
-
_context8.next =
|
|
486
|
+
_context8.next = 2;
|
|
486
487
|
return this.webex.request({
|
|
487
488
|
uri: voicemailContentUrl,
|
|
488
489
|
method: _types.HTTP_METHODS.PUT,
|
|
@@ -493,7 +494,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
493
494
|
read: 'false'
|
|
494
495
|
}
|
|
495
496
|
});
|
|
496
|
-
case
|
|
497
|
+
case 2:
|
|
497
498
|
response = _context8.sent;
|
|
498
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);
|
|
499
500
|
responseDetails = {
|
|
@@ -503,21 +504,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
503
504
|
};
|
|
504
505
|
_Logger.default.log('Successfully marked voicemail as unread', loggerContext);
|
|
505
506
|
return _context8.abrupt("return", responseDetails);
|
|
506
|
-
case
|
|
507
|
-
_context8.prev =
|
|
508
|
-
|
|
509
|
-
_Logger.default.error("Failed to mark voicemail as unread: ".concat((0, _stringify.default)(
|
|
510
|
-
_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;
|
|
511
512
|
return (0, _Utils.uploadLogs)();
|
|
512
|
-
case
|
|
513
|
-
errorInfo =
|
|
513
|
+
case 4:
|
|
514
|
+
errorInfo = _t4;
|
|
514
515
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
515
516
|
return _context8.abrupt("return", errorStatus);
|
|
516
|
-
case
|
|
517
|
+
case 5:
|
|
517
518
|
case "end":
|
|
518
519
|
return _context8.stop();
|
|
519
520
|
}
|
|
520
|
-
}, _callee8, this, [[
|
|
521
|
+
}, _callee8, this, [[1, 3]]);
|
|
521
522
|
}));
|
|
522
523
|
function voicemailMarkAsUnread(_x0) {
|
|
523
524
|
return _voicemailMarkAsUnread.apply(this, arguments);
|
|
@@ -532,8 +533,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
532
533
|
key: "deleteVoicemail",
|
|
533
534
|
value: (function () {
|
|
534
535
|
var _deleteVoicemail = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(messageId) {
|
|
535
|
-
var loggerContext, _response$headers5, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
|
|
536
|
-
return _regenerator.default.wrap(function
|
|
536
|
+
var loggerContext, _response$headers5, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus, _t5;
|
|
537
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
537
538
|
while (1) switch (_context9.prev = _context9.next) {
|
|
538
539
|
case 0:
|
|
539
540
|
loggerContext = {
|
|
@@ -541,9 +542,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
541
542
|
method: _constants2.METHODS.DELETE_VOICEMAIL
|
|
542
543
|
};
|
|
543
544
|
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with Message ID: ").concat(messageId), loggerContext);
|
|
544
|
-
_context9.prev =
|
|
545
|
+
_context9.prev = 1;
|
|
545
546
|
voicemailContentUrl = "".concat(this.vgVoiceMessageURI).concat(_constants2.VOICEMAILS, "/").concat(messageId);
|
|
546
|
-
_context9.next =
|
|
547
|
+
_context9.next = 2;
|
|
547
548
|
return this.webex.request({
|
|
548
549
|
uri: voicemailContentUrl,
|
|
549
550
|
method: _types.HTTP_METHODS.DELETE,
|
|
@@ -551,7 +552,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
551
552
|
orgId: this.orgId
|
|
552
553
|
}
|
|
553
554
|
});
|
|
554
|
-
case
|
|
555
|
+
case 2:
|
|
555
556
|
response = _context9.sent;
|
|
556
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);
|
|
557
558
|
responseDetails = {
|
|
@@ -561,21 +562,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
561
562
|
};
|
|
562
563
|
_Logger.default.log('Successfully deleted voicemail', loggerContext);
|
|
563
564
|
return _context9.abrupt("return", responseDetails);
|
|
564
|
-
case
|
|
565
|
-
_context9.prev =
|
|
566
|
-
|
|
567
|
-
_Logger.default.error("Failed to delete voicemail: ".concat((0, _stringify.default)(
|
|
568
|
-
_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;
|
|
569
570
|
return (0, _Utils.uploadLogs)();
|
|
570
|
-
case
|
|
571
|
-
errorInfo =
|
|
571
|
+
case 4:
|
|
572
|
+
errorInfo = _t5;
|
|
572
573
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
573
574
|
return _context9.abrupt("return", errorStatus);
|
|
574
|
-
case
|
|
575
|
+
case 5:
|
|
575
576
|
case "end":
|
|
576
577
|
return _context9.stop();
|
|
577
578
|
}
|
|
578
|
-
}, _callee9, this, [[
|
|
579
|
+
}, _callee9, this, [[1, 3]]);
|
|
579
580
|
}));
|
|
580
581
|
function deleteVoicemail(_x1) {
|
|
581
582
|
return _deleteVoicemail.apply(this, arguments);
|
|
@@ -593,12 +594,12 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
593
594
|
key: "getVMTranscript",
|
|
594
595
|
value: (function () {
|
|
595
596
|
var _getVMTranscript = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(messageId) {
|
|
596
|
-
return _regenerator.default.wrap(function
|
|
597
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
597
598
|
while (1) switch (_context0.prev = _context0.next) {
|
|
598
599
|
case 0:
|
|
599
600
|
_Logger.default.info("Message Id: ".concat(messageId), {});
|
|
600
601
|
return _context0.abrupt("return", _promise.default.resolve(null));
|
|
601
|
-
case
|
|
602
|
+
case 1:
|
|
602
603
|
case "end":
|
|
603
604
|
return _context0.stop();
|
|
604
605
|
}
|
|
@@ -623,6 +624,5 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
623
624
|
return _promise.default.resolve(null);
|
|
624
625
|
}
|
|
625
626
|
}]);
|
|
626
|
-
return UcmBackendConnector;
|
|
627
627
|
}();
|
|
628
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","voicemailContentUrl","CONTENT","mercuryApi","services","_serviceUrls","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 = `${this.webex.internal.services._serviceUrls.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":[]}
|