@webex/calling 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/CallHistory/CallHistory.js +596 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +916 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +650 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +38 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallSettings/CallSettings.js +311 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +308 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +597 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +31 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +68 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +1119 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +1266 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +101 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +275 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +275 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +3486 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +3612 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +460 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +741 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +74 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +143 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +243 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +332 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +327 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +21 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1686 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +1885 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +36 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/registration/webWorker.js +130 -0
  74. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  75. package/dist/CallingClient/registration/webWorker.test.js +303 -0
  76. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  77. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  78. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  79. package/dist/CallingClient/types.js +7 -0
  80. package/dist/CallingClient/types.js.map +1 -0
  81. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  82. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  83. package/dist/Contacts/ContactsClient.js +1206 -0
  84. package/dist/Contacts/ContactsClient.js.map +1 -0
  85. package/dist/Contacts/ContactsClient.test.js +1004 -0
  86. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  87. package/dist/Contacts/constants.js +40 -0
  88. package/dist/Contacts/constants.js.map +1 -0
  89. package/dist/Contacts/contactFixtures.js +430 -0
  90. package/dist/Contacts/contactFixtures.js.map +1 -0
  91. package/dist/Contacts/types.js +43 -0
  92. package/dist/Contacts/types.js.map +1 -0
  93. package/dist/Errors/catalog/CallError.js +89 -0
  94. package/dist/Errors/catalog/CallError.js.map +1 -0
  95. package/dist/Errors/catalog/CallingDeviceError.js +83 -0
  96. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  97. package/dist/Errors/catalog/ExtendedError.js +42 -0
  98. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  99. package/dist/Errors/catalog/LineError.js +85 -0
  100. package/dist/Errors/catalog/LineError.js.map +1 -0
  101. package/dist/Errors/index.js +28 -0
  102. package/dist/Errors/index.js.map +1 -0
  103. package/dist/Errors/types.js +59 -0
  104. package/dist/Errors/types.js.map +1 -0
  105. package/dist/Events/impl/index.js +79 -0
  106. package/dist/Events/impl/index.js.map +1 -0
  107. package/dist/Events/types.js +107 -0
  108. package/dist/Events/types.js.map +1 -0
  109. package/dist/Logger/index.js +228 -0
  110. package/dist/Logger/index.js.map +1 -0
  111. package/dist/Logger/index.test.js +87 -0
  112. package/dist/Logger/index.test.js.map +1 -0
  113. package/dist/Logger/types.js +34 -0
  114. package/dist/Logger/types.js.map +1 -0
  115. package/dist/Metrics/index.js +534 -0
  116. package/dist/Metrics/index.js.map +1 -0
  117. package/dist/Metrics/index.test.js +463 -0
  118. package/dist/Metrics/index.test.js.map +1 -0
  119. package/dist/Metrics/types.js +64 -0
  120. package/dist/Metrics/types.js.map +1 -0
  121. package/dist/SDKConnector/index.js +102 -0
  122. package/dist/SDKConnector/index.js.map +1 -0
  123. package/dist/SDKConnector/index.test.js +9 -0
  124. package/dist/SDKConnector/index.test.js.map +1 -0
  125. package/dist/SDKConnector/types.js +7 -0
  126. package/dist/SDKConnector/types.js.map +1 -0
  127. package/dist/SDKConnector/utils.js +39 -0
  128. package/dist/SDKConnector/utils.js.map +1 -0
  129. package/dist/SDKConnector/utils.test.js +9 -0
  130. package/dist/SDKConnector/utils.test.js.map +1 -0
  131. package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
  132. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  133. package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
  134. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  135. package/dist/Voicemail/UcmBackendConnector.js +628 -0
  136. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
  138. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/Voicemail.js +472 -0
  140. package/dist/Voicemail/Voicemail.js.map +1 -0
  141. package/dist/Voicemail/Voicemail.test.js +391 -0
  142. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  143. package/dist/Voicemail/WxCallBackendConnector.js +657 -0
  144. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  145. package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
  146. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  147. package/dist/Voicemail/constants.js +61 -0
  148. package/dist/Voicemail/constants.js.map +1 -0
  149. package/dist/Voicemail/types.js +7 -0
  150. package/dist/Voicemail/types.js.map +1 -0
  151. package/dist/Voicemail/voicemailFixture.js +524 -0
  152. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  153. package/dist/api.js +157 -0
  154. package/dist/api.js.map +1 -0
  155. package/dist/common/Utils.js +1483 -0
  156. package/dist/common/Utils.js.map +1 -0
  157. package/dist/common/Utils.test.js +1989 -0
  158. package/dist/common/Utils.test.js.map +1 -0
  159. package/dist/common/constants.js +62 -0
  160. package/dist/common/constants.js.map +1 -0
  161. package/dist/common/index.js +19 -0
  162. package/dist/common/index.js.map +1 -0
  163. package/dist/common/testUtil.js +983 -0
  164. package/dist/common/testUtil.js.map +1 -0
  165. package/dist/common/types.js +75 -0
  166. package/dist/common/types.js.map +1 -0
  167. package/dist/index.js +321 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/module/CallHistory/CallHistory.js +28 -17
  170. package/dist/module/CallingClient/CallingClient.js +43 -1
  171. package/dist/module/CallingClient/calling/call.js +3 -2
  172. package/dist/module/CallingClient/constants.js +2 -0
  173. package/dist/module/CallingClient/registration/register.js +8 -0
  174. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  175. package/dist/types/CallingClient/CallingClient.d.ts +2 -1
  176. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  177. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  178. package/dist/types/CallingClient/constants.d.ts +2 -0
  179. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  180. package/dist/types/CallingClient/registration/register.d.ts +2 -1
  181. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  182. package/dist/types/CallingClient/registration/types.d.ts +2 -1
  183. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  184. package/dist/types/CallingClient/types.d.ts +2 -1
  185. package/dist/types/CallingClient/types.d.ts.map +1 -1
  186. package/dist/types/common/types.d.ts +4 -0
  187. package/dist/types/common/types.d.ts.map +1 -1
  188. package/package.json +4 -4
@@ -0,0 +1,597 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
8
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
9
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
10
+ _Object$defineProperty(exports, "__esModule", {
11
+ value: true
12
+ });
13
+ exports.WxCallBackendConnector = void 0;
14
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
15
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
17
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
20
+ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
21
+ var _Logger = _interopRequireDefault(require("../Logger"));
22
+ var _types = require("../common/types");
23
+ var _constants = require("../common/constants");
24
+ var _constants2 = require("./constants");
25
+ var _Utils = require("../common/Utils");
26
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ /**
29
+ * This Connector class will implement child interface of ICallSettings and
30
+ * has methods for the Webex Calling backend.
31
+ */
32
+ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/function () {
33
+ function WxCallBackendConnector(webex, logger) {
34
+ var _this$webex$internal$;
35
+ (0, _classCallCheck2.default)(this, WxCallBackendConnector);
36
+ (0, _defineProperty2.default)(this, "sdkConnector", void 0);
37
+ (0, _defineProperty2.default)(this, "webex", void 0);
38
+ (0, _defineProperty2.default)(this, "userId", void 0);
39
+ (0, _defineProperty2.default)(this, "personId", void 0);
40
+ (0, _defineProperty2.default)(this, "orgId", void 0);
41
+ (0, _defineProperty2.default)(this, "xsiEndpoint", void 0);
42
+ (0, _defineProperty2.default)(this, "hydraEndpoint", void 0);
43
+ (0, _defineProperty2.default)(this, "VOICEMAIL", 'VOICEMAIL');
44
+ this.sdkConnector = _SDKConnector.default;
45
+ if (!this.sdkConnector.getWebex()) {
46
+ _SDKConnector.default.setWebex(webex);
47
+ }
48
+ this.webex = this.sdkConnector.getWebex();
49
+ /* eslint no-underscore-dangle: 0 */
50
+ this.hydraEndpoint = ((_this$webex$internal$ = this.webex.internal.services._serviceUrls) === null || _this$webex$internal$ === void 0 ? void 0 : _this$webex$internal$.hydra) || this.webex.internal.services.get(this.webex.internal.services._activeServices.hydra);
51
+ _Logger.default.setLogger(logger.level, _constants.WEBEX_CALLING_CONNECTOR_FILE);
52
+ this.userId = this.webex.internal.device.userId;
53
+ this.personId = (0, _Utils.inferIdFromUuid)(this.webex.internal.device.userId, _types.DecodeType.PEOPLE);
54
+ this.orgId = (0, _Utils.inferIdFromUuid)(this.webex.internal.device.orgId, _types.DecodeType.ORGANIZATION);
55
+ }
56
+
57
+ /**
58
+ * Reads call waiting setting at the backend.
59
+ */
60
+ return (0, _createClass2.default)(WxCallBackendConnector, [{
61
+ key: "getCallWaitingSetting",
62
+ value: (function () {
63
+ var _getCallWaitingSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
64
+ var loggerContext, _response$headers, callWaitingUrl, response, xmlData, parser, xmlDOM, callWaitingDetails, status, toggleSetting, responseDetails, errorInfo, errorStatus, _t, _t2, _t3, _t4, _t5, _t6;
65
+ return _regenerator.default.wrap(function (_context) {
66
+ while (1) switch (_context.prev = _context.next) {
67
+ case 0:
68
+ loggerContext = {
69
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
70
+ method: _constants2.METHODS.GET_CALL_WAITING_SETTING
71
+ };
72
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
73
+ _context.prev = 1;
74
+ if (this.xsiEndpoint) {
75
+ _context.next = 3;
76
+ break;
77
+ }
78
+ _context.next = 2;
79
+ return (0, _Utils.getXsiActionEndpoint)(this.webex, loggerContext, _types.CALLING_BACKEND.WXC);
80
+ case 2:
81
+ this.xsiEndpoint = _context.sent;
82
+ _Logger.default.info("xsiEndpoint: ".concat(this.xsiEndpoint), loggerContext);
83
+ case 3:
84
+ callWaitingUrl = "".concat(this.xsiEndpoint, "/").concat(_constants2.XSI_VERSION, "/").concat(_constants2.USER_ENDPOINT, "/").concat(this.userId, "/").concat(_constants.SERVICES_ENDPOINT, "/").concat(_constants2.CALL_WAITING_ENDPOINT);
85
+ _t = fetch;
86
+ _t2 = "".concat(callWaitingUrl);
87
+ _t3 = _types.HTTP_METHODS.GET;
88
+ _context.next = 4;
89
+ return this.webex.credentials.getUserToken();
90
+ case 4:
91
+ _t4 = _context.sent;
92
+ _t5 = {
93
+ Authorization: _t4
94
+ };
95
+ _context.next = 5;
96
+ return _t(_t2, {
97
+ method: _t3,
98
+ headers: _t5
99
+ });
100
+ case 5:
101
+ response = _context.sent;
102
+ if (response.ok) {
103
+ _context.next = 6;
104
+ break;
105
+ }
106
+ throw new Error("".concat(response.status));
107
+ case 6:
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 = 7;
110
+ return response.text();
111
+ case 7:
112
+ xmlData = _context.sent;
113
+ parser = new DOMParser();
114
+ xmlDOM = parser.parseFromString(xmlData, _constants.XML_TYPE);
115
+ callWaitingDetails = xmlDOM.getElementsByTagName('active');
116
+ status = callWaitingDetails[0].childNodes[0].textContent;
117
+ toggleSetting = {
118
+ enabled: status === 'true'
119
+ };
120
+ responseDetails = {
121
+ statusCode: 200,
122
+ data: {
123
+ callSetting: toggleSetting
124
+ },
125
+ message: _constants.SUCCESS_MESSAGE
126
+ };
127
+ _Logger.default.log("Successfully got Call Waiting settings, personId: ".concat(this.personId), loggerContext);
128
+ return _context.abrupt("return", responseDetails);
129
+ case 8:
130
+ _context.prev = 8;
131
+ _t6 = _context["catch"](1);
132
+ _Logger.default.error("Failed to get call waiting setting: ".concat((0, _stringify.default)(_t6)), loggerContext);
133
+ _context.next = 9;
134
+ return (0, _Utils.uploadLogs)();
135
+ case 9:
136
+ errorInfo = {
137
+ statusCode: _t6 instanceof Error ? Number(_t6.message) : ''
138
+ };
139
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
140
+ return _context.abrupt("return", errorStatus);
141
+ case 10:
142
+ case "end":
143
+ return _context.stop();
144
+ }
145
+ }, _callee, this, [[1, 8]]);
146
+ }));
147
+ function getCallWaitingSetting() {
148
+ return _getCallWaitingSetting.apply(this, arguments);
149
+ }
150
+ return getCallWaitingSetting;
151
+ }()
152
+ /**
153
+ * Reads DND setting at the backend.
154
+ */
155
+ )
156
+ }, {
157
+ key: "getDoNotDisturbSetting",
158
+ value: (function () {
159
+ var _getDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
160
+ var loggerContext, _resp$headers, resp, dndSettingResponse, responseDetails, errorInfo, errorStatus, _t7;
161
+ return _regenerator.default.wrap(function (_context2) {
162
+ while (1) switch (_context2.prev = _context2.next) {
163
+ case 0:
164
+ loggerContext = {
165
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
166
+ method: _constants2.METHODS.GET_DO_NOT_DISTURB_SETTING
167
+ };
168
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
169
+ _context2.prev = 1;
170
+ _context2.next = 2;
171
+ return this.webex.request({
172
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.DND_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
173
+ method: _types.HTTP_METHODS.GET
174
+ });
175
+ case 2:
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);
178
+ dndSettingResponse = resp.body;
179
+ responseDetails = {
180
+ statusCode: Number(resp[_constants.STATUS_CODE]),
181
+ data: {
182
+ callSetting: dndSettingResponse
183
+ },
184
+ message: _constants.SUCCESS_MESSAGE
185
+ };
186
+ _Logger.default.log("Successfully got Do Not Disturb settings, personId: ".concat(this.personId), loggerContext);
187
+ return _context2.abrupt("return", responseDetails);
188
+ case 3:
189
+ _context2.prev = 3;
190
+ _t7 = _context2["catch"](1);
191
+ _Logger.default.error("Failed to get DoNotDisturb setting: ".concat((0, _stringify.default)(_t7)), loggerContext);
192
+ _context2.next = 4;
193
+ return (0, _Utils.uploadLogs)();
194
+ case 4:
195
+ errorInfo = _t7;
196
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
197
+ return _context2.abrupt("return", errorStatus);
198
+ case 5:
199
+ case "end":
200
+ return _context2.stop();
201
+ }
202
+ }, _callee2, this, [[1, 3]]);
203
+ }));
204
+ function getDoNotDisturbSetting() {
205
+ return _getDoNotDisturbSetting.apply(this, arguments);
206
+ }
207
+ return getDoNotDisturbSetting;
208
+ }()
209
+ /**
210
+ * Updates DND setting at the backend.
211
+ */
212
+ )
213
+ }, {
214
+ key: "setDoNotDisturbSetting",
215
+ value: (function () {
216
+ var _setDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(enabled) {
217
+ var loggerContext, _resp$headers2, dndRequestBody, resp, responseDetails, errorInfo, errorStatus, _t8;
218
+ return _regenerator.default.wrap(function (_context3) {
219
+ while (1) switch (_context3.prev = _context3.next) {
220
+ case 0:
221
+ loggerContext = {
222
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
223
+ method: _constants2.METHODS.SET_DO_NOT_DISTURB_SETTING
224
+ };
225
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
226
+ _context3.prev = 1;
227
+ dndRequestBody = {
228
+ enabled: enabled,
229
+ ringSplashEnabled: false
230
+ };
231
+ _context3.next = 2;
232
+ return this.webex.request({
233
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.DND_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
234
+ method: _types.HTTP_METHODS.PUT,
235
+ body: dndRequestBody
236
+ });
237
+ case 2:
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);
240
+ responseDetails = {
241
+ statusCode: Number(resp[_constants.STATUS_CODE]),
242
+ data: {
243
+ callSetting: dndRequestBody
244
+ },
245
+ message: _constants.SUCCESS_MESSAGE
246
+ };
247
+ _Logger.default.log("Successfully set Do Not Disturb settings, personId: ".concat(this.personId), loggerContext);
248
+ return _context3.abrupt("return", responseDetails);
249
+ case 3:
250
+ _context3.prev = 3;
251
+ _t8 = _context3["catch"](1);
252
+ _Logger.default.error("Failed to set DoNotDisturb setting: ".concat((0, _stringify.default)(_t8)), loggerContext);
253
+ _context3.next = 4;
254
+ return (0, _Utils.uploadLogs)();
255
+ case 4:
256
+ errorInfo = _t8;
257
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
258
+ return _context3.abrupt("return", errorStatus);
259
+ case 5:
260
+ case "end":
261
+ return _context3.stop();
262
+ }
263
+ }, _callee3, this, [[1, 3]]);
264
+ }));
265
+ function setDoNotDisturbSetting(_x) {
266
+ return _setDoNotDisturbSetting.apply(this, arguments);
267
+ }
268
+ return setDoNotDisturbSetting;
269
+ }()
270
+ /**
271
+ * Reads Call Forward setting at the backend.
272
+ */
273
+ )
274
+ }, {
275
+ key: "getCallForwardSetting",
276
+ value: (function () {
277
+ var _getCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
278
+ var loggerContext, _resp$headers3, resp, cfResponse, responseDetails, errorInfo, errorStatus, _t9;
279
+ return _regenerator.default.wrap(function (_context4) {
280
+ while (1) switch (_context4.prev = _context4.next) {
281
+ case 0:
282
+ loggerContext = {
283
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
284
+ method: _constants2.METHODS.GET_CALL_FORWARD_SETTING
285
+ };
286
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
287
+ _context4.prev = 1;
288
+ _context4.next = 2;
289
+ return this.webex.request({
290
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.CF_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
291
+ method: _types.HTTP_METHODS.GET
292
+ });
293
+ case 2:
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);
296
+ cfResponse = resp.body;
297
+ responseDetails = {
298
+ statusCode: Number(resp[_constants.STATUS_CODE]),
299
+ data: {
300
+ callSetting: cfResponse
301
+ },
302
+ message: _constants.SUCCESS_MESSAGE
303
+ };
304
+ _Logger.default.log("Successfully got Call Forward settings, personId: ".concat(this.personId), loggerContext);
305
+ return _context4.abrupt("return", responseDetails);
306
+ case 3:
307
+ _context4.prev = 3;
308
+ _t9 = _context4["catch"](1);
309
+ _Logger.default.error("Failed to get Call Forward setting: ".concat((0, _stringify.default)(_t9)), loggerContext);
310
+ _context4.next = 4;
311
+ return (0, _Utils.uploadLogs)();
312
+ case 4:
313
+ errorInfo = _t9;
314
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
315
+ return _context4.abrupt("return", errorStatus);
316
+ case 5:
317
+ case "end":
318
+ return _context4.stop();
319
+ }
320
+ }, _callee4, this, [[1, 3]]);
321
+ }));
322
+ function getCallForwardSetting() {
323
+ return _getCallForwardSetting.apply(this, arguments);
324
+ }
325
+ return getCallForwardSetting;
326
+ }()
327
+ /**
328
+ * Updates Call Forward setting at the backend.
329
+ */
330
+ )
331
+ }, {
332
+ key: "setCallForwardSetting",
333
+ value: (function () {
334
+ var _setCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(callForwardingRequest) {
335
+ var loggerContext, _resp$headers4, resp, responseDetails, errorInfo, errorStatus, _t0;
336
+ return _regenerator.default.wrap(function (_context5) {
337
+ while (1) switch (_context5.prev = _context5.next) {
338
+ case 0:
339
+ loggerContext = {
340
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
341
+ method: _constants2.METHODS.SET_CALL_FORWARD_SETTING
342
+ };
343
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
344
+ _context5.prev = 1;
345
+ _context5.next = 2;
346
+ return this.webex.request({
347
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.CF_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
348
+ method: _types.HTTP_METHODS.PUT,
349
+ body: callForwardingRequest
350
+ });
351
+ case 2:
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);
354
+ responseDetails = {
355
+ statusCode: Number(resp[_constants.STATUS_CODE]),
356
+ data: {
357
+ callSetting: callForwardingRequest
358
+ },
359
+ message: _constants.SUCCESS_MESSAGE
360
+ };
361
+ _Logger.default.log("Successfully set Call Forward settings, personId: ".concat(this.personId), loggerContext);
362
+ return _context5.abrupt("return", responseDetails);
363
+ case 3:
364
+ _context5.prev = 3;
365
+ _t0 = _context5["catch"](1);
366
+ _Logger.default.error("Failed to set Call Forward setting: ".concat((0, _stringify.default)(_t0)), loggerContext);
367
+ _context5.next = 4;
368
+ return (0, _Utils.uploadLogs)();
369
+ case 4:
370
+ errorInfo = _t0;
371
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
372
+ return _context5.abrupt("return", errorStatus);
373
+ case 5:
374
+ case "end":
375
+ return _context5.stop();
376
+ }
377
+ }, _callee5, this, [[1, 3]]);
378
+ }));
379
+ function setCallForwardSetting(_x2) {
380
+ return _setCallForwardSetting.apply(this, arguments);
381
+ }
382
+ return setCallForwardSetting;
383
+ }()
384
+ /**
385
+ * Reads Voicemail setting at the backend.
386
+ */
387
+ )
388
+ }, {
389
+ key: "getVoicemailSetting",
390
+ value: (function () {
391
+ var _getVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
392
+ var loggerContext, _resp$headers5, resp, vmResponse, responseDetails, errorInfo, errorStatus, _t1;
393
+ return _regenerator.default.wrap(function (_context6) {
394
+ while (1) switch (_context6.prev = _context6.next) {
395
+ case 0:
396
+ loggerContext = {
397
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
398
+ method: _constants2.METHODS.GET_VOICEMAIL_SETTING
399
+ };
400
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
401
+ _context6.prev = 1;
402
+ _context6.next = 2;
403
+ return this.webex.request({
404
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.VM_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
405
+ method: _types.HTTP_METHODS.GET
406
+ });
407
+ case 2:
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);
410
+ vmResponse = resp.body;
411
+ responseDetails = {
412
+ statusCode: Number(resp[_constants.STATUS_CODE]),
413
+ data: {
414
+ callSetting: vmResponse
415
+ },
416
+ message: _constants.SUCCESS_MESSAGE
417
+ };
418
+ _Logger.default.log("Successfully got Voicemail settings, personId: ".concat(this.personId), loggerContext);
419
+ return _context6.abrupt("return", responseDetails);
420
+ case 3:
421
+ _context6.prev = 3;
422
+ _t1 = _context6["catch"](1);
423
+ _Logger.default.error("Failed to get Voicemail setting: ".concat((0, _stringify.default)(_t1)), loggerContext);
424
+ _context6.next = 4;
425
+ return (0, _Utils.uploadLogs)();
426
+ case 4:
427
+ errorInfo = _t1;
428
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
429
+ return _context6.abrupt("return", errorStatus);
430
+ case 5:
431
+ case "end":
432
+ return _context6.stop();
433
+ }
434
+ }, _callee6, this, [[1, 3]]);
435
+ }));
436
+ function getVoicemailSetting() {
437
+ return _getVoicemailSetting.apply(this, arguments);
438
+ }
439
+ return getVoicemailSetting;
440
+ }()
441
+ /**
442
+ * Updates Voicemail setting at the backend.
443
+ */
444
+ )
445
+ }, {
446
+ key: "setVoicemailSetting",
447
+ value: (function () {
448
+ var _setVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(voicemailRequest) {
449
+ var loggerContext, _resp$headers6, resp, responseDetails, errorInfo, errorStatus, _t10;
450
+ return _regenerator.default.wrap(function (_context7) {
451
+ while (1) switch (_context7.prev = _context7.next) {
452
+ case 0:
453
+ loggerContext = {
454
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
455
+ method: _constants2.METHODS.SET_VOICEMAIL_SETTING
456
+ };
457
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
458
+ _context7.prev = 1;
459
+ _context7.next = 2;
460
+ return this.webex.request({
461
+ uri: "".concat(this.hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.personId, "/").concat(_constants2.VM_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
462
+ method: _types.HTTP_METHODS.PUT,
463
+ body: voicemailRequest
464
+ });
465
+ case 2:
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);
468
+ responseDetails = {
469
+ statusCode: Number(resp[_constants.STATUS_CODE]),
470
+ data: {
471
+ callSetting: voicemailRequest
472
+ },
473
+ message: _constants.SUCCESS_MESSAGE
474
+ };
475
+ _Logger.default.log("Successfully set Voicemail settings, personId: ".concat(this.personId), loggerContext);
476
+ return _context7.abrupt("return", responseDetails);
477
+ case 3:
478
+ _context7.prev = 3;
479
+ _t10 = _context7["catch"](1);
480
+ _Logger.default.error("Failed to set Voicemail setting: ".concat((0, _stringify.default)(_t10)), loggerContext);
481
+ _context7.next = 4;
482
+ return (0, _Utils.uploadLogs)();
483
+ case 4:
484
+ errorInfo = _t10;
485
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
486
+ return _context7.abrupt("return", errorStatus);
487
+ case 5:
488
+ case "end":
489
+ return _context7.stop();
490
+ }
491
+ }, _callee7, this, [[1, 3]]);
492
+ }));
493
+ function setVoicemailSetting(_x3) {
494
+ return _setVoicemailSetting.apply(this, arguments);
495
+ }
496
+ return setVoicemailSetting;
497
+ }()
498
+ /**
499
+ * Reads the Call Forwarding Always settings at the backend.
500
+ * This will also check if CFA is set to Voicemail.
501
+ * If CFA is set to destination, that will take precedence.
502
+ */
503
+ )
504
+ }, {
505
+ key: "getCallForwardAlwaysSetting",
506
+ value: (function () {
507
+ var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
508
+ var loggerContext, cfResponse, cfa, response, vmResponse, _vm$sendAllCalls, vm, _response, _response2;
509
+ return _regenerator.default.wrap(function (_context8) {
510
+ while (1) switch (_context8.prev = _context8.next) {
511
+ case 0:
512
+ loggerContext = {
513
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
514
+ method: _constants2.METHODS.GET_CALL_FORWARD_ALWAYS_SETTING
515
+ };
516
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
517
+ _context8.next = 1;
518
+ return this.getCallForwardSetting();
519
+ case 1:
520
+ cfResponse = _context8.sent;
521
+ if (!(cfResponse.statusCode === 200)) {
522
+ _context8.next = 7;
523
+ break;
524
+ }
525
+ cfa = cfResponse.data.callSetting.callForwarding.always;
526
+ /** CFA is set to destination */
527
+ if (!cfa.enabled) {
528
+ _context8.next = 3;
529
+ break;
530
+ }
531
+ if (!cfa.destination) {
532
+ _context8.next = 2;
533
+ break;
534
+ }
535
+ response = _objectSpread(_objectSpread({}, cfResponse), {}, {
536
+ data: {
537
+ callSetting: cfa
538
+ }
539
+ });
540
+ return _context8.abrupt("return", response);
541
+ case 2:
542
+ _Logger.default.warn("CFA is enabled, but destination is not set", loggerContext);
543
+ case 3:
544
+ _context8.next = 4;
545
+ return this.getVoicemailSetting();
546
+ case 4:
547
+ vmResponse = _context8.sent;
548
+ if (!(vmResponse.statusCode === 200)) {
549
+ _context8.next = 6;
550
+ break;
551
+ }
552
+ vm = vmResponse.data.callSetting;
553
+ /** CFA is enabled to voicemail */
554
+ if (!(vm.enabled && (_vm$sendAllCalls = vm.sendAllCalls) !== null && _vm$sendAllCalls !== void 0 && _vm$sendAllCalls.enabled)) {
555
+ _context8.next = 5;
556
+ break;
557
+ }
558
+ _response = _objectSpread(_objectSpread({}, cfResponse), {}, {
559
+ data: {
560
+ callSetting: _objectSpread(_objectSpread({}, cfa), {}, {
561
+ enabled: true,
562
+ destination: this.VOICEMAIL
563
+ })
564
+ }
565
+ });
566
+ return _context8.abrupt("return", _response);
567
+ case 5:
568
+ /** No CFA is set */
569
+ _response2 = _objectSpread(_objectSpread({}, cfResponse), {}, {
570
+ data: {
571
+ callSetting: _objectSpread(_objectSpread({}, cfa), {}, {
572
+ enabled: false,
573
+ destination: undefined
574
+ })
575
+ }
576
+ });
577
+ return _context8.abrupt("return", _response2);
578
+ case 6:
579
+ _Logger.default.warn("Unable to retrieve voicemail settings.", loggerContext);
580
+ vmResponse.data.error = 'Unable to retrieve voicemail settings.';
581
+ return _context8.abrupt("return", vmResponse);
582
+ case 7:
583
+ return _context8.abrupt("return", cfResponse);
584
+ case 8:
585
+ case "end":
586
+ return _context8.stop();
587
+ }
588
+ }, _callee8, this);
589
+ }));
590
+ function getCallForwardAlwaysSetting() {
591
+ return _getCallForwardAlwaysSetting.apply(this, arguments);
592
+ }
593
+ return getCallForwardAlwaysSetting;
594
+ }())
595
+ }]);
596
+ }();
597
+ //# sourceMappingURL=WxCallBackendConnector.js.map