@webex/calling 3.9.0 → 3.10.0-next.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 +43 -43
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +157 -152
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
- package/dist/CallHistory/constants.js.map +1 -1
- package/dist/CallHistory/types.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +8 -8
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/CallSettings.test.js +1 -1
- package/dist/CallSettings/CallSettings.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +12 -11
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +11 -11
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +53 -52
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +112 -110
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/constants.js.map +1 -1
- package/dist/CallSettings/testFixtures.js.map +1 -1
- package/dist/CallSettings/types.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +458 -203
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +458 -315
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/callRecordFixtures.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +2 -2
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +8 -7
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/types.js.map +1 -1
- package/dist/CallingClient/calling/call.js +405 -372
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +411 -410
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +3 -4
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +68 -69
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/index.js.map +1 -1
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/callingClientFixtures.js.map +1 -1
- package/dist/CallingClient/constants.js +9 -6
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +10 -11
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +10 -9
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/line/types.js.map +1 -1
- package/dist/CallingClient/registration/index.js.map +1 -1
- package/dist/CallingClient/registration/register.js +285 -205
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +251 -180
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +25 -10
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +85 -38
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +244 -247
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +93 -93
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Contacts/constants.js +2 -2
- package/dist/Contacts/constants.js.map +1 -1
- package/dist/Contacts/contactFixtures.js.map +1 -1
- package/dist/Contacts/types.js.map +1 -1
- package/dist/Errors/catalog/CallError.js +2 -2
- package/dist/Errors/catalog/CallError.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +2 -2
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/ExtendedError.js +3 -3
- package/dist/Errors/catalog/ExtendedError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +2 -2
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Errors/index.js.map +1 -1
- package/dist/Errors/types.js.map +1 -1
- package/dist/Events/impl/index.js +4 -3
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Events/types.js.map +1 -1
- package/dist/Logger/index.js +3 -3
- package/dist/Logger/index.js.map +1 -1
- package/dist/Logger/index.test.js +1 -1
- package/dist/Logger/index.test.js.map +1 -1
- package/dist/Logger/types.js.map +1 -1
- package/dist/Metrics/index.js +221 -104
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +112 -23
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +15 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/index.js +0 -1
- package/dist/SDKConnector/index.js.map +1 -1
- package/dist/SDKConnector/index.test.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/SDKConnector/utils.js.map +1 -1
- package/dist/SDKConnector/utils.test.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +55 -61
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +129 -122
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +53 -50
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +73 -74
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +89 -113
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +2 -2
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +87 -92
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +228 -203
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/constants.js.map +1 -1
- package/dist/Voicemail/types.js.map +1 -1
- package/dist/Voicemail/voicemailFixture.js.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/common/Utils.js +85 -66
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +113 -123
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/testUtil.js +1 -1
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +17 -8
- package/dist/module/CallSettings/UcmBackendConnector.js +2 -2
- package/dist/module/CallSettings/WxCallBackendConnector.js +14 -14
- package/dist/module/CallingClient/CallingClient.js +176 -36
- package/dist/module/CallingClient/calling/call.js +91 -61
- package/dist/module/CallingClient/constants.js +8 -4
- package/dist/module/CallingClient/line/index.js +3 -3
- package/dist/module/CallingClient/registration/register.js +37 -13
- package/dist/module/CallingClient/registration/webWorker.js +17 -3
- package/dist/module/CallingClient/registration/webWorkerStr.js +19 -3
- package/dist/module/CallingClient/windowsChromiumIceWarmupUtils.js +59 -0
- package/dist/module/Contacts/ContactsClient.js +33 -37
- package/dist/module/Contacts/constants.js +1 -1
- package/dist/module/Events/impl/index.js +2 -1
- package/dist/module/Logger/index.js +2 -2
- package/dist/module/Metrics/index.js +142 -55
- package/dist/module/Metrics/types.js +14 -0
- package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -17
- package/dist/module/Voicemail/UcmBackendConnector.js +11 -10
- package/dist/module/Voicemail/Voicemail.js +42 -68
- package/dist/module/Voicemail/WxCallBackendConnector.js +22 -28
- package/dist/module/common/Utils.js +29 -12
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts +12 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +2 -1
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +8 -4
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +1 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts +2 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts +5 -0
- package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts.map +1 -0
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Contacts/constants.d.ts +1 -1
- package/dist/types/Contacts/constants.d.ts.map +1 -1
- package/dist/types/Events/impl/index.d.ts.map +1 -1
- package/dist/types/Logger/index.d.ts +1 -2
- package/dist/types/Logger/index.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +18 -3
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +1 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +10 -8
|
@@ -12,6 +12,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
12
12
|
});
|
|
13
13
|
exports.WxCallBackendConnector = void 0;
|
|
14
14
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
15
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
15
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
16
17
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
17
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
@@ -58,8 +59,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
58
59
|
(0, _createClass2.default)(WxCallBackendConnector, [{
|
|
59
60
|
key: "getCallWaitingSetting",
|
|
60
61
|
value: (function () {
|
|
61
|
-
var _getCallWaitingSetting = (0, _asyncToGenerator2.default)(
|
|
62
|
-
var loggerContext, callWaitingUrl, response, xmlData, parser, xmlDOM, callWaitingDetails, status, toggleSetting, responseDetails,
|
|
62
|
+
var _getCallWaitingSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
63
|
+
var loggerContext, _response$headers, callWaitingUrl, response, xmlData, parser, xmlDOM, callWaitingDetails, status, toggleSetting, responseDetails, errorInfo, errorStatus;
|
|
63
64
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
64
65
|
while (1) switch (_context.prev = _context.next) {
|
|
65
66
|
case 0:
|
|
@@ -104,9 +105,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
104
105
|
}
|
|
105
106
|
throw new Error("".concat(response.status));
|
|
106
107
|
case 22:
|
|
107
|
-
|
|
108
|
+
_Logger.default.log("Response trackingId: ".concat((_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.get('trackingid')), loggerContext);
|
|
109
|
+
_context.next = 25;
|
|
108
110
|
return response.text();
|
|
109
|
-
case
|
|
111
|
+
case 25:
|
|
110
112
|
xmlData = _context.sent;
|
|
111
113
|
parser = new DOMParser();
|
|
112
114
|
xmlDOM = parser.parseFromString(xmlData, _constants.XML_TYPE);
|
|
@@ -124,11 +126,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
124
126
|
};
|
|
125
127
|
_Logger.default.log("Successfully got Call Waiting settings, personId: ".concat(this.personId), loggerContext);
|
|
126
128
|
return _context.abrupt("return", responseDetails);
|
|
127
|
-
case
|
|
128
|
-
_context.prev =
|
|
129
|
+
case 36:
|
|
130
|
+
_context.prev = 36;
|
|
129
131
|
_context.t6 = _context["catch"](2);
|
|
130
|
-
|
|
131
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
132
|
+
_Logger.default.error("Failed to get call waiting setting: ".concat((0, _stringify.default)(_context.t6)), loggerContext);
|
|
132
133
|
_context.next = 41;
|
|
133
134
|
return (0, _Utils.uploadLogs)();
|
|
134
135
|
case 41:
|
|
@@ -141,7 +142,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
141
142
|
case "end":
|
|
142
143
|
return _context.stop();
|
|
143
144
|
}
|
|
144
|
-
}, _callee, this, [[2,
|
|
145
|
+
}, _callee, this, [[2, 36]]);
|
|
145
146
|
}));
|
|
146
147
|
function getCallWaitingSetting() {
|
|
147
148
|
return _getCallWaitingSetting.apply(this, arguments);
|
|
@@ -155,8 +156,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
155
156
|
}, {
|
|
156
157
|
key: "getDoNotDisturbSetting",
|
|
157
158
|
value: (function () {
|
|
158
|
-
var _getDoNotDisturbSetting = (0, _asyncToGenerator2.default)(
|
|
159
|
-
var loggerContext, resp, dndSettingResponse, responseDetails,
|
|
159
|
+
var _getDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
160
|
+
var loggerContext, _resp$headers, resp, dndSettingResponse, responseDetails, errorInfo, errorStatus;
|
|
160
161
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
161
162
|
while (1) switch (_context2.prev = _context2.next) {
|
|
162
163
|
case 0:
|
|
@@ -173,6 +174,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
173
174
|
});
|
|
174
175
|
case 5:
|
|
175
176
|
resp = _context2.sent;
|
|
177
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), loggerContext);
|
|
176
178
|
dndSettingResponse = resp.body;
|
|
177
179
|
responseDetails = {
|
|
178
180
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
@@ -183,11 +185,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
183
185
|
};
|
|
184
186
|
_Logger.default.log("Successfully got Do Not Disturb settings, personId: ".concat(this.personId), loggerContext);
|
|
185
187
|
return _context2.abrupt("return", responseDetails);
|
|
186
|
-
case
|
|
187
|
-
_context2.prev =
|
|
188
|
+
case 13:
|
|
189
|
+
_context2.prev = 13;
|
|
188
190
|
_context2.t0 = _context2["catch"](2);
|
|
189
|
-
|
|
190
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
191
|
+
_Logger.default.error("Failed to get DoNotDisturb setting: ".concat((0, _stringify.default)(_context2.t0)), loggerContext);
|
|
191
192
|
_context2.next = 18;
|
|
192
193
|
return (0, _Utils.uploadLogs)();
|
|
193
194
|
case 18:
|
|
@@ -198,7 +199,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
198
199
|
case "end":
|
|
199
200
|
return _context2.stop();
|
|
200
201
|
}
|
|
201
|
-
}, _callee2, this, [[2,
|
|
202
|
+
}, _callee2, this, [[2, 13]]);
|
|
202
203
|
}));
|
|
203
204
|
function getDoNotDisturbSetting() {
|
|
204
205
|
return _getDoNotDisturbSetting.apply(this, arguments);
|
|
@@ -212,8 +213,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
212
213
|
}, {
|
|
213
214
|
key: "setDoNotDisturbSetting",
|
|
214
215
|
value: (function () {
|
|
215
|
-
var _setDoNotDisturbSetting = (0, _asyncToGenerator2.default)(
|
|
216
|
-
var loggerContext, dndRequestBody, resp, responseDetails,
|
|
216
|
+
var _setDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(enabled) {
|
|
217
|
+
var loggerContext, _resp$headers2, dndRequestBody, resp, responseDetails, errorInfo, errorStatus;
|
|
217
218
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
218
219
|
while (1) switch (_context3.prev = _context3.next) {
|
|
219
220
|
case 0:
|
|
@@ -235,6 +236,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
235
236
|
});
|
|
236
237
|
case 6:
|
|
237
238
|
resp = _context3.sent;
|
|
239
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers2 = resp.headers) === null || _resp$headers2 === void 0 ? void 0 : _resp$headers2.trackingid), loggerContext);
|
|
238
240
|
responseDetails = {
|
|
239
241
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
240
242
|
data: {
|
|
@@ -244,11 +246,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
244
246
|
};
|
|
245
247
|
_Logger.default.log("Successfully set Do Not Disturb settings, personId: ".concat(this.personId), loggerContext);
|
|
246
248
|
return _context3.abrupt("return", responseDetails);
|
|
247
|
-
case
|
|
248
|
-
_context3.prev =
|
|
249
|
+
case 13:
|
|
250
|
+
_context3.prev = 13;
|
|
249
251
|
_context3.t0 = _context3["catch"](2);
|
|
250
|
-
|
|
251
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
252
|
+
_Logger.default.error("Failed to set DoNotDisturb setting: ".concat((0, _stringify.default)(_context3.t0)), loggerContext);
|
|
252
253
|
_context3.next = 18;
|
|
253
254
|
return (0, _Utils.uploadLogs)();
|
|
254
255
|
case 18:
|
|
@@ -259,7 +260,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
259
260
|
case "end":
|
|
260
261
|
return _context3.stop();
|
|
261
262
|
}
|
|
262
|
-
}, _callee3, this, [[2,
|
|
263
|
+
}, _callee3, this, [[2, 13]]);
|
|
263
264
|
}));
|
|
264
265
|
function setDoNotDisturbSetting(_x) {
|
|
265
266
|
return _setDoNotDisturbSetting.apply(this, arguments);
|
|
@@ -273,8 +274,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
273
274
|
}, {
|
|
274
275
|
key: "getCallForwardSetting",
|
|
275
276
|
value: (function () {
|
|
276
|
-
var _getCallForwardSetting = (0, _asyncToGenerator2.default)(
|
|
277
|
-
var loggerContext, resp, cfResponse, responseDetails,
|
|
277
|
+
var _getCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
278
|
+
var loggerContext, _resp$headers3, resp, cfResponse, responseDetails, errorInfo, errorStatus;
|
|
278
279
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
279
280
|
while (1) switch (_context4.prev = _context4.next) {
|
|
280
281
|
case 0:
|
|
@@ -291,6 +292,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
291
292
|
});
|
|
292
293
|
case 5:
|
|
293
294
|
resp = _context4.sent;
|
|
295
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers3 = resp.headers) === null || _resp$headers3 === void 0 ? void 0 : _resp$headers3.trackingid), loggerContext);
|
|
294
296
|
cfResponse = resp.body;
|
|
295
297
|
responseDetails = {
|
|
296
298
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
@@ -301,11 +303,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
301
303
|
};
|
|
302
304
|
_Logger.default.log("Successfully got Call Forward settings, personId: ".concat(this.personId), loggerContext);
|
|
303
305
|
return _context4.abrupt("return", responseDetails);
|
|
304
|
-
case
|
|
305
|
-
_context4.prev =
|
|
306
|
+
case 13:
|
|
307
|
+
_context4.prev = 13;
|
|
306
308
|
_context4.t0 = _context4["catch"](2);
|
|
307
|
-
|
|
308
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
309
|
+
_Logger.default.error("Failed to get Call Forward setting: ".concat((0, _stringify.default)(_context4.t0)), loggerContext);
|
|
309
310
|
_context4.next = 18;
|
|
310
311
|
return (0, _Utils.uploadLogs)();
|
|
311
312
|
case 18:
|
|
@@ -316,7 +317,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
316
317
|
case "end":
|
|
317
318
|
return _context4.stop();
|
|
318
319
|
}
|
|
319
|
-
}, _callee4, this, [[2,
|
|
320
|
+
}, _callee4, this, [[2, 13]]);
|
|
320
321
|
}));
|
|
321
322
|
function getCallForwardSetting() {
|
|
322
323
|
return _getCallForwardSetting.apply(this, arguments);
|
|
@@ -330,8 +331,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
330
331
|
}, {
|
|
331
332
|
key: "setCallForwardSetting",
|
|
332
333
|
value: (function () {
|
|
333
|
-
var _setCallForwardSetting = (0, _asyncToGenerator2.default)(
|
|
334
|
-
var loggerContext, resp, responseDetails,
|
|
334
|
+
var _setCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(callForwardingRequest) {
|
|
335
|
+
var loggerContext, _resp$headers4, resp, responseDetails, errorInfo, errorStatus;
|
|
335
336
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
336
337
|
while (1) switch (_context5.prev = _context5.next) {
|
|
337
338
|
case 0:
|
|
@@ -349,6 +350,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
349
350
|
});
|
|
350
351
|
case 5:
|
|
351
352
|
resp = _context5.sent;
|
|
353
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers4 = resp.headers) === null || _resp$headers4 === void 0 ? void 0 : _resp$headers4.trackingid), loggerContext);
|
|
352
354
|
responseDetails = {
|
|
353
355
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
354
356
|
data: {
|
|
@@ -358,11 +360,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
358
360
|
};
|
|
359
361
|
_Logger.default.log("Successfully set Call Forward settings, personId: ".concat(this.personId), loggerContext);
|
|
360
362
|
return _context5.abrupt("return", responseDetails);
|
|
361
|
-
case
|
|
362
|
-
_context5.prev =
|
|
363
|
+
case 12:
|
|
364
|
+
_context5.prev = 12;
|
|
363
365
|
_context5.t0 = _context5["catch"](2);
|
|
364
|
-
|
|
365
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
366
|
+
_Logger.default.error("Failed to set Call Forward setting: ".concat((0, _stringify.default)(_context5.t0)), loggerContext);
|
|
366
367
|
_context5.next = 17;
|
|
367
368
|
return (0, _Utils.uploadLogs)();
|
|
368
369
|
case 17:
|
|
@@ -373,7 +374,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
373
374
|
case "end":
|
|
374
375
|
return _context5.stop();
|
|
375
376
|
}
|
|
376
|
-
}, _callee5, this, [[2,
|
|
377
|
+
}, _callee5, this, [[2, 12]]);
|
|
377
378
|
}));
|
|
378
379
|
function setCallForwardSetting(_x2) {
|
|
379
380
|
return _setCallForwardSetting.apply(this, arguments);
|
|
@@ -387,8 +388,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
387
388
|
}, {
|
|
388
389
|
key: "getVoicemailSetting",
|
|
389
390
|
value: (function () {
|
|
390
|
-
var _getVoicemailSetting = (0, _asyncToGenerator2.default)(
|
|
391
|
-
var loggerContext, resp, vmResponse, responseDetails,
|
|
391
|
+
var _getVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
392
|
+
var loggerContext, _resp$headers5, resp, vmResponse, responseDetails, errorInfo, errorStatus;
|
|
392
393
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
393
394
|
while (1) switch (_context6.prev = _context6.next) {
|
|
394
395
|
case 0:
|
|
@@ -405,6 +406,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
405
406
|
});
|
|
406
407
|
case 5:
|
|
407
408
|
resp = _context6.sent;
|
|
409
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers5 = resp.headers) === null || _resp$headers5 === void 0 ? void 0 : _resp$headers5.trackingid), loggerContext);
|
|
408
410
|
vmResponse = resp.body;
|
|
409
411
|
responseDetails = {
|
|
410
412
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
@@ -415,11 +417,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
415
417
|
};
|
|
416
418
|
_Logger.default.log("Successfully got Voicemail settings, personId: ".concat(this.personId), loggerContext);
|
|
417
419
|
return _context6.abrupt("return", responseDetails);
|
|
418
|
-
case
|
|
419
|
-
_context6.prev =
|
|
420
|
+
case 13:
|
|
421
|
+
_context6.prev = 13;
|
|
420
422
|
_context6.t0 = _context6["catch"](2);
|
|
421
|
-
|
|
422
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
423
|
+
_Logger.default.error("Failed to get Voicemail setting: ".concat((0, _stringify.default)(_context6.t0)), loggerContext);
|
|
423
424
|
_context6.next = 18;
|
|
424
425
|
return (0, _Utils.uploadLogs)();
|
|
425
426
|
case 18:
|
|
@@ -430,7 +431,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
430
431
|
case "end":
|
|
431
432
|
return _context6.stop();
|
|
432
433
|
}
|
|
433
|
-
}, _callee6, this, [[2,
|
|
434
|
+
}, _callee6, this, [[2, 13]]);
|
|
434
435
|
}));
|
|
435
436
|
function getVoicemailSetting() {
|
|
436
437
|
return _getVoicemailSetting.apply(this, arguments);
|
|
@@ -444,8 +445,8 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
444
445
|
}, {
|
|
445
446
|
key: "setVoicemailSetting",
|
|
446
447
|
value: (function () {
|
|
447
|
-
var _setVoicemailSetting = (0, _asyncToGenerator2.default)(
|
|
448
|
-
var loggerContext, resp, responseDetails,
|
|
448
|
+
var _setVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(voicemailRequest) {
|
|
449
|
+
var loggerContext, _resp$headers6, resp, responseDetails, errorInfo, errorStatus;
|
|
449
450
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
450
451
|
while (1) switch (_context7.prev = _context7.next) {
|
|
451
452
|
case 0:
|
|
@@ -463,6 +464,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
463
464
|
});
|
|
464
465
|
case 5:
|
|
465
466
|
resp = _context7.sent;
|
|
467
|
+
_Logger.default.log("Response trackingId: ".concat(resp === null || resp === void 0 ? void 0 : (_resp$headers6 = resp.headers) === null || _resp$headers6 === void 0 ? void 0 : _resp$headers6.trackingid), loggerContext);
|
|
466
468
|
responseDetails = {
|
|
467
469
|
statusCode: Number(resp[_constants.STATUS_CODE]),
|
|
468
470
|
data: {
|
|
@@ -472,11 +474,10 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
472
474
|
};
|
|
473
475
|
_Logger.default.log("Successfully set Voicemail settings, personId: ".concat(this.personId), loggerContext);
|
|
474
476
|
return _context7.abrupt("return", responseDetails);
|
|
475
|
-
case
|
|
476
|
-
_context7.prev =
|
|
477
|
+
case 12:
|
|
478
|
+
_context7.prev = 12;
|
|
477
479
|
_context7.t0 = _context7["catch"](2);
|
|
478
|
-
|
|
479
|
-
_Logger.default.error(extendedError, loggerContext);
|
|
480
|
+
_Logger.default.error("Failed to set Voicemail setting: ".concat((0, _stringify.default)(_context7.t0)), loggerContext);
|
|
480
481
|
_context7.next = 17;
|
|
481
482
|
return (0, _Utils.uploadLogs)();
|
|
482
483
|
case 17:
|
|
@@ -487,7 +488,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
487
488
|
case "end":
|
|
488
489
|
return _context7.stop();
|
|
489
490
|
}
|
|
490
|
-
}, _callee7, this, [[2,
|
|
491
|
+
}, _callee7, this, [[2, 12]]);
|
|
491
492
|
}));
|
|
492
493
|
function setVoicemailSetting(_x3) {
|
|
493
494
|
return _setVoicemailSetting.apply(this, arguments);
|
|
@@ -503,7 +504,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
|
|
|
503
504
|
}, {
|
|
504
505
|
key: "getCallForwardAlwaysSetting",
|
|
505
506
|
value: (function () {
|
|
506
|
-
var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(
|
|
507
|
+
var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
507
508
|
var loggerContext, cfResponse, cfa, response, vmResponse, _vm$sendAllCalls, vm, _response, _response2;
|
|
508
509
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
509
510
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_Logger","_types","_constants","_constants2","_Utils","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","WxCallBackendConnector","exports","webex","logger","_classCallCheck2","sdkConnector","SDKConnector","getWebex","setWebex","hydraEndpoint","internal","services","_serviceUrls","hydra","log","setLogger","level","WEBEX_CALLING_CONNECTOR_FILE","userId","device","personId","inferIdFromUuid","DecodeType","PEOPLE","orgId","ORGANIZATION","_createClass2","key","value","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","callWaitingUrl","response","xmlData","parser","xmlDOM","callWaitingDetails","status","toggleSetting","responseDetails","extendedError","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","xsiEndpoint","getXsiActionEndpoint","CALLING_BACKEND","WXC","sent","concat","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","t0","fetch","t1","t2","HTTP_METHODS","GET","credentials","getUserToken","t3","t4","Authorization","t5","headers","ok","Error","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","childNodes","textContent","enabled","statusCode","data","callSetting","message","SUCCESS_MESSAGE","abrupt","t6","error","uploadLogs","Number","serviceErrorCodeHandler","stop","getCallWaitingSetting","_getDoNotDisturbSetting","_callee2","resp","dndSettingResponse","_callee2$","_context2","GET_DO_NOT_DISTURB_SETTING","request","uri","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","body","STATUS_CODE","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","dndRequestBody","_callee3$","_context3","SET_DO_NOT_DISTURB_SETTING","ringSplashEnabled","PUT","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","cfResponse","_callee4$","_context4","GET_CALL_FORWARD_SETTING","CF_ENDPOINT","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","SET_CALL_FORWARD_SETTING","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","vmResponse","_callee6$","_context6","GET_VOICEMAIL_SETTING","VM_ENDPOINT","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","SET_VOICEMAIL_SETTING","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","cfa","_vm$sendAllCalls","vm","_response","_response2","_callee8$","_context8","GET_CALL_FORWARD_ALWAYS_SETTING","callForwarding","always","destination","warn","sendAllCalls","VOICEMAIL","undefined","getCallForwardAlwaysSetting"],"sources":["WxCallBackendConnector.ts"],"sourcesContent":["import ExtendedError from 'Errors/catalog/ExtendedError';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n ToggleSetting,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport log from '../Logger';\nimport {WebexRequestPayload, HTTP_METHODS, DecodeType, CALLING_BACKEND} from '../common/types';\nimport {\n SERVICES_ENDPOINT,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n XML_TYPE,\n WEBEX_CALLING_CONNECTOR_FILE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n METHODS,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport {\n getXsiActionEndpoint,\n inferIdFromUuid,\n serviceErrorCodeHandler,\n uploadLogs,\n} from '../common/Utils';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the Webex Calling backend.\n */\nexport class WxCallBackendConnector implements IWxCallBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private personId: string;\n\n private orgId: string;\n\n private xsiEndpoint!: string;\n\n private hydraEndpoint: string;\n\n private VOICEMAIL = 'VOICEMAIL';\n\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n /* eslint no-underscore-dangle: 0 */\n this.hydraEndpoint = this.webex.internal.services._serviceUrls.hydra;\n log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);\n\n this.userId = this.webex.internal.device.userId;\n this.personId = inferIdFromUuid(this.webex.internal.device.userId, DecodeType.PEOPLE);\n this.orgId = inferIdFromUuid(this.webex.internal.device.orgId, DecodeType.ORGANIZATION);\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public async getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n if (!this.xsiEndpoint) {\n this.xsiEndpoint = await getXsiActionEndpoint(\n this.webex,\n loggerContext,\n CALLING_BACKEND.WXC\n );\n log.info(`xsiEndpoint: ${this.xsiEndpoint}`, loggerContext);\n }\n\n const callWaitingUrl = `${this.xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${this.userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n const response = await fetch(`${callWaitingUrl}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await this.webex.credentials.getUserToken(),\n },\n });\n\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const xmlData = await response.text();\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const callWaitingDetails = xmlDOM.getElementsByTagName('active');\n const status = callWaitingDetails[0].childNodes[0].textContent;\n\n const toggleSetting: ToggleSetting = {\n enabled: status === 'true',\n };\n const responseDetails: CallSettingResponse = {\n statusCode: 200,\n data: {\n callSetting: toggleSetting,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Waiting settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get call waiting setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const dndSettingResponse = resp.body as ToggleSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndSettingResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully got Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get DoNotDisturb setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, 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 * Updates DND setting at the backend.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const dndRequestBody: ToggleSetting = {\n enabled,\n ringSplashEnabled: false,\n };\n\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: dndRequestBody,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndRequestBody,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully set Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to set DoNotDisturb setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, 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 * Reads Call Forward setting at the backend.\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const cfResponse = resp.body as CallForwardSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: cfResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get Call Forward setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, 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 * Updates Call Forward setting at the backend.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: callForwardingRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: callForwardingRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to set Call Forward setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, 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 * Reads Voicemail setting at the backend.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const vmResponse = resp.body as VoicemailSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: vmResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to get Voicemail setting: ${err}`) as ExtendedError;\n log.error(extendedError, 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 * Updates Voicemail setting at the backend.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: voicemailRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: voicemailRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to set Voicemail setting: ${err}`) as ExtendedError;\n\n log.error(extendedError, 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 * Reads the Call Forwarding Always settings at the backend.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n */\n public async getCallForwardAlwaysSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const cfResponse = await this.getCallForwardSetting();\n\n if (cfResponse.statusCode === 200) {\n const cfa = (cfResponse.data.callSetting as CallForwardSetting).callForwarding.always;\n\n /** CFA is set to destination */\n if (cfa.enabled) {\n if (cfa.destination) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: cfa,\n },\n };\n\n return response;\n }\n log.warn(`CFA is enabled, but destination is not set`, loggerContext);\n }\n const vmResponse = await this.getVoicemailSetting();\n\n if (vmResponse.statusCode === 200) {\n const vm = vmResponse.data.callSetting as VoicemailSetting;\n\n /** CFA is enabled to voicemail */\n if (vm.enabled && vm.sendAllCalls?.enabled) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: true,\n destination: this.VOICEMAIL,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n /** No CFA is set */\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: false,\n destination: undefined,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n log.warn(`Unable to retrieve voicemail settings.`, loggerContext);\n\n vmResponse.data.error = 'Unable to retrieve voicemail settings.';\n\n return vmResponse;\n }\n\n return cfResponse;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_Logger","_types","_constants","_constants2","_Utils","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","WxCallBackendConnector","exports","webex","logger","_classCallCheck2","sdkConnector","SDKConnector","getWebex","setWebex","hydraEndpoint","internal","services","_serviceUrls","hydra","log","setLogger","level","WEBEX_CALLING_CONNECTOR_FILE","userId","device","personId","inferIdFromUuid","DecodeType","PEOPLE","orgId","ORGANIZATION","_createClass2","key","value","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","_response$headers","callWaitingUrl","response","xmlData","parser","xmlDOM","callWaitingDetails","status","toggleSetting","responseDetails","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","xsiEndpoint","getXsiActionEndpoint","CALLING_BACKEND","WXC","sent","concat","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","t0","fetch","t1","t2","HTTP_METHODS","GET","credentials","getUserToken","t3","t4","Authorization","t5","headers","ok","Error","get","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","childNodes","textContent","enabled","statusCode","data","callSetting","message","SUCCESS_MESSAGE","abrupt","t6","error","_stringify","uploadLogs","Number","serviceErrorCodeHandler","stop","getCallWaitingSetting","_getDoNotDisturbSetting","_callee2","_resp$headers","resp","dndSettingResponse","_callee2$","_context2","GET_DO_NOT_DISTURB_SETTING","request","uri","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","trackingid","body","STATUS_CODE","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","_resp$headers2","dndRequestBody","_callee3$","_context3","SET_DO_NOT_DISTURB_SETTING","ringSplashEnabled","PUT","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_resp$headers3","cfResponse","_callee4$","_context4","GET_CALL_FORWARD_SETTING","CF_ENDPOINT","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_resp$headers4","_callee5$","_context5","SET_CALL_FORWARD_SETTING","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_resp$headers5","vmResponse","_callee6$","_context6","GET_VOICEMAIL_SETTING","VM_ENDPOINT","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_resp$headers6","_callee7$","_context7","SET_VOICEMAIL_SETTING","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","cfa","_vm$sendAllCalls","vm","_response","_response2","_callee8$","_context8","GET_CALL_FORWARD_ALWAYS_SETTING","callForwarding","always","destination","warn","sendAllCalls","VOICEMAIL","undefined","getCallForwardAlwaysSetting"],"sources":["WxCallBackendConnector.ts"],"sourcesContent":["import SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n ToggleSetting,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport log from '../Logger';\nimport {WebexRequestPayload, HTTP_METHODS, DecodeType, CALLING_BACKEND} from '../common/types';\nimport {\n SERVICES_ENDPOINT,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n XML_TYPE,\n WEBEX_CALLING_CONNECTOR_FILE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n METHODS,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport {\n getXsiActionEndpoint,\n inferIdFromUuid,\n serviceErrorCodeHandler,\n uploadLogs,\n} from '../common/Utils';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the Webex Calling backend.\n */\nexport class WxCallBackendConnector implements IWxCallBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private personId: string;\n\n private orgId: string;\n\n private xsiEndpoint!: string;\n\n private hydraEndpoint: string;\n\n private VOICEMAIL = 'VOICEMAIL';\n\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n /* eslint no-underscore-dangle: 0 */\n this.hydraEndpoint = this.webex.internal.services._serviceUrls.hydra;\n log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);\n\n this.userId = this.webex.internal.device.userId;\n this.personId = inferIdFromUuid(this.webex.internal.device.userId, DecodeType.PEOPLE);\n this.orgId = inferIdFromUuid(this.webex.internal.device.orgId, DecodeType.ORGANIZATION);\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public async getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n if (!this.xsiEndpoint) {\n this.xsiEndpoint = await getXsiActionEndpoint(\n this.webex,\n loggerContext,\n CALLING_BACKEND.WXC\n );\n log.info(`xsiEndpoint: ${this.xsiEndpoint}`, loggerContext);\n }\n\n const callWaitingUrl = `${this.xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${this.userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n const response = await fetch(`${callWaitingUrl}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await this.webex.credentials.getUserToken(),\n },\n });\n\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const xmlData = await response.text();\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const callWaitingDetails = xmlDOM.getElementsByTagName('active');\n const status = callWaitingDetails[0].childNodes[0].textContent;\n\n const toggleSetting: ToggleSetting = {\n enabled: status === 'true',\n };\n const responseDetails: CallSettingResponse = {\n statusCode: 200,\n data: {\n callSetting: toggleSetting,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Waiting settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get call waiting setting: ${JSON.stringify(err)}`, loggerContext);\n await uploadLogs();\n\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const dndSettingResponse = resp.body as ToggleSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndSettingResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully got Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get DoNotDisturb setting: ${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 * Updates DND setting at the backend.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const dndRequestBody: ToggleSetting = {\n enabled,\n ringSplashEnabled: false,\n };\n\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: dndRequestBody,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndRequestBody,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully set Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to set DoNotDisturb setting: ${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 * Reads Call Forward setting at the backend.\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const cfResponse = resp.body as CallForwardSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: cfResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get Call Forward setting: ${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 * Updates Call Forward setting at the backend.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: callForwardingRequest,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: callForwardingRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to set Call Forward setting: ${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 * Reads Voicemail setting at the backend.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const vmResponse = resp.body as VoicemailSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: vmResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to get Voicemail setting: ${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 * Updates Voicemail setting at the backend.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: voicemailRequest,\n });\n\n log.log(`Response trackingId: ${resp?.headers?.trackingid}`, loggerContext);\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: voicemailRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n log.error(`Failed to set Voicemail setting: ${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 * Reads the Call Forwarding Always settings at the backend.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n */\n public async getCallForwardAlwaysSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const cfResponse = await this.getCallForwardSetting();\n\n if (cfResponse.statusCode === 200) {\n const cfa = (cfResponse.data.callSetting as CallForwardSetting).callForwarding.always;\n\n /** CFA is set to destination */\n if (cfa.enabled) {\n if (cfa.destination) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: cfa,\n },\n };\n\n return response;\n }\n log.warn(`CFA is enabled, but destination is not set`, loggerContext);\n }\n const vmResponse = await this.getVoicemailSetting();\n\n if (vmResponse.statusCode === 200) {\n const vm = vmResponse.data.callSetting as VoicemailSetting;\n\n /** CFA is enabled to voicemail */\n if (vm.enabled && vm.sendAllCalls?.enabled) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: true,\n destination: this.VOICEMAIL,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n /** No CFA is set */\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: false,\n destination: undefined,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n log.warn(`Unable to retrieve voicemail settings.`, loggerContext);\n\n vmResponse.data.error = 'Unable to retrieve voicemail settings.';\n\n return vmResponse;\n }\n\n return cfResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|