@webex/calling 3.10.0-next.13 → 3.10.0-next.14

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 (87) hide show
  1. package/dist/CallHistory/CallHistory.js +118 -124
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +189 -201
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +19 -20
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +32 -32
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +135 -137
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +198 -201
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +168 -168
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +364 -366
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +340 -340
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +15 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +113 -113
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +57 -74
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +22 -22
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +293 -300
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +246 -246
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/webWorker.js +24 -24
  42. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  43. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  44. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  45. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  46. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  47. package/dist/Contacts/ContactsClient.js +250 -253
  48. package/dist/Contacts/ContactsClient.js.map +1 -1
  49. package/dist/Contacts/ContactsClient.test.js +60 -60
  50. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  51. package/dist/Errors/catalog/CallError.js +7 -10
  52. package/dist/Errors/catalog/CallError.js.map +1 -1
  53. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  54. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  55. package/dist/Errors/catalog/ExtendedError.js +6 -8
  56. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  57. package/dist/Errors/catalog/LineError.js +6 -9
  58. package/dist/Errors/catalog/LineError.js.map +1 -1
  59. package/dist/Events/impl/index.js +11 -13
  60. package/dist/Events/impl/index.js.map +1 -1
  61. package/dist/Metrics/index.js +1 -2
  62. package/dist/Metrics/index.js.map +1 -1
  63. package/dist/SDKConnector/index.js +1 -2
  64. package/dist/SDKConnector/index.js.map +1 -1
  65. package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
  66. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  67. package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
  68. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  69. package/dist/Voicemail/UcmBackendConnector.js +84 -85
  70. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  71. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  72. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  73. package/dist/Voicemail/Voicemail.js +58 -61
  74. package/dist/Voicemail/Voicemail.js.map +1 -1
  75. package/dist/Voicemail/Voicemail.test.js +20 -20
  76. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  77. package/dist/Voicemail/WxCallBackendConnector.js +116 -117
  78. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  79. package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
  80. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  81. package/dist/common/Utils.js +168 -167
  82. package/dist/common/Utils.js.map +1 -1
  83. package/dist/common/Utils.test.js +120 -120
  84. package/dist/common/Utils.test.js.map +1 -1
  85. package/dist/common/testUtil.js +3 -3
  86. package/dist/common/testUtil.js.map +1 -1
  87. package/package.json +2 -2
@@ -61,8 +61,8 @@ describe('CallSettings Client tests', function () {
61
61
  });
62
62
  it.each(testData)('%s', /*#__PURE__*/function () {
63
63
  var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(data) {
64
- var callSettingsClient;
65
- return _regenerator.default.wrap(function _callee$(_context) {
64
+ var callSettingsClient, _t;
65
+ return _regenerator.default.wrap(function (_context) {
66
66
  while (1) switch (_context.prev = _context.next) {
67
67
  case 0:
68
68
  webex.internal.device.callingBehavior = data.callingBehavior;
@@ -72,21 +72,21 @@ describe('CallSettings Client tests', function () {
72
72
  }
73
73
  }];
74
74
  if (!data.valid) {
75
- _context.next = 16;
75
+ _context.next = 5;
76
76
  break;
77
77
  }
78
78
  callSettingsClient = (0, _CallSettings.createCallSettingsClient)(webex, {
79
79
  level: _types.LOGGER.INFO
80
80
  });
81
81
  expect(callSettingsClient).toBeTruthy();
82
- _context.t0 = data.callingBehavior;
83
- _context.next = _context.t0 === _constants.NATIVE_SIP_CALL_TO_UCM ? 8 : _context.t0 === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 11 : 13;
82
+ _t = data.callingBehavior;
83
+ _context.next = _t === _constants.NATIVE_SIP_CALL_TO_UCM ? 1 : _t === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 2 : 3;
84
84
  break;
85
- case 8:
85
+ case 1:
86
86
  expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.UCM);
87
87
  expect(callSettingsClient['backendConnector']).toBeInstanceOf(_UcmBackendConnector.UcmBackendConnector);
88
- return _context.abrupt("break", 14);
89
- case 11:
88
+ return _context.abrupt("continue", 4);
89
+ case 2:
90
90
  if (data.entitlement === _constants.ENTITLEMENT_BROADWORKS_CONN) {
91
91
  expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.BWRKS);
92
92
  expect(callSettingsClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
@@ -95,19 +95,19 @@ describe('CallSettings Client tests', function () {
95
95
  expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.WXC);
96
96
  expect(callSettingsClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
97
97
  }
98
- return _context.abrupt("break", 14);
99
- case 13:
98
+ return _context.abrupt("continue", 4);
99
+ case 3:
100
100
  fail('Unknown calling backend type.');
101
- case 14:
102
- _context.next = 17;
101
+ case 4:
102
+ _context.next = 6;
103
103
  break;
104
- case 16:
104
+ case 5:
105
105
  expect(function () {
106
106
  (0, _CallSettings.createCallSettingsClient)(webex, {
107
107
  level: _types.LOGGER.INFO
108
108
  });
109
109
  }).toThrowError('Calling backend is not identified, exiting....');
110
- case 17:
110
+ case 6:
111
111
  case "end":
112
112
  return _context.stop();
113
113
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_types","_constants","_types2","_WxCallBackendConnector","_CallSettings","_UcmBackendConnector","describe","webex","getTestUtilsWebex","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","callSettingsClient","wrap","_callee$","_context","prev","next","internal","device","features","models","_values","key","createCallSettingsClient","level","LOGGER","INFO","expect","toBeTruthy","t0","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","WxCallBackendConnector","WXC","fail","toThrowError","stop","_x","apply","arguments"],"sources":["CallSettings.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\n\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {createCallSettingsClient} from './CallSettings';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\ndescribe('CallSettings Client tests', () => {\n const webex = getTestUtilsWebex();\n\n describe('createCallSettingsClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm CallSettings client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc CallSettings client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const callSettingsClient = createCallSettingsClient(webex, {level: LOGGER.INFO});\n\n expect(callSettingsClient).toBeTruthy();\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n } else {\n /* entitlement basic and standard */\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createCallSettingsClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_testUtil","require","_types","_constants","_types2","_WxCallBackendConnector","_CallSettings","_UcmBackendConnector","describe","webex","getTestUtilsWebex","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","callSettingsClient","_t","wrap","_context","prev","next","internal","device","features","models","_values","key","createCallSettingsClient","level","LOGGER","INFO","expect","toBeTruthy","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","WxCallBackendConnector","WXC","fail","toThrowError","stop","_x","apply","arguments"],"sources":["CallSettings.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\n\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {createCallSettingsClient} from './CallSettings';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\ndescribe('CallSettings Client tests', () => {\n const webex = getTestUtilsWebex();\n\n describe('createCallSettingsClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm CallSettings client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc CallSettings client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const callSettingsClient = createCallSettingsClient(webex, {level: LOGGER.INFO});\n\n expect(callSettingsClient).toBeTruthy();\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n } else {\n /* entitlement basic and standard */\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createCallSettingsClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -49,7 +49,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
49
49
  /**
50
50
  * Reads call waiting setting at the backend.
51
51
  */
52
- (0, _createClass2.default)(UcmBackendConnector, [{
52
+ return (0, _createClass2.default)(UcmBackendConnector, [{
53
53
  key: "getCallWaitingSetting",
54
54
  value: function getCallWaitingSetting() {
55
55
  var loggerContext = {
@@ -173,8 +173,8 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
173
173
  key: "getCallForwardAlwaysSetting",
174
174
  value: (function () {
175
175
  var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(directoryNumber) {
176
- var loggerContext, webexApisUrl, resp, _ref, callForwarding, cfa, _response, _response2, response, errorInfo, errorStatus;
177
- return _regenerator.default.wrap(function _callee$(_context) {
176
+ var loggerContext, webexApisUrl, resp, _ref, callForwarding, cfa, _response, _response2, response, errorInfo, errorStatus, _t;
177
+ return _regenerator.default.wrap(function (_context) {
178
178
  while (1) switch (_context.prev = _context.next) {
179
179
  case 0:
180
180
  loggerContext = {
@@ -183,17 +183,17 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
183
183
  };
184
184
  _Logger.default.info(directoryNumber ? "".concat(_constants.METHOD_START_MESSAGE, " with ").concat(directoryNumber) : _constants.METHOD_START_MESSAGE, loggerContext);
185
185
  webexApisUrl = this.useProdWebexApis ? _constants.WEBEX_API_CONFIG_PROD_URL : _constants.WEBEX_API_CONFIG_INT_URL;
186
- _context.prev = 3;
186
+ _context.prev = 1;
187
187
  if (!directoryNumber) {
188
- _context.next = 17;
188
+ _context.next = 4;
189
189
  break;
190
190
  }
191
- _context.next = 7;
191
+ _context.next = 2;
192
192
  return this.webex.request({
193
193
  uri: "".concat(webexApisUrl, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.userId, "/").concat(_constants2.CF_ENDPOINT.toLowerCase(), "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
194
194
  method: _types.HTTP_METHODS.GET
195
195
  });
196
- case 7:
196
+ case 2:
197
197
  resp = _context.sent;
198
198
  _Logger.default.log("Response code: ".concat(resp.statusCode), loggerContext);
199
199
  _ref = resp.body, callForwarding = _ref.callForwarding;
@@ -201,7 +201,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
201
201
  return item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber);
202
202
  });
203
203
  if (!cfa) {
204
- _context.next = 15;
204
+ _context.next = 3;
205
205
  break;
206
206
  }
207
207
  _response = {
@@ -216,7 +216,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
216
216
  };
217
217
  _Logger.default.log("Successfully retrieved call forward always setting for directory number: ".concat(directoryNumber), loggerContext);
218
218
  return _context.abrupt("return", _response);
219
- case 15:
219
+ case 3:
220
220
  _response2 = {
221
221
  statusCode: 404,
222
222
  message: _constants.FAILURE_MESSAGE,
@@ -225,7 +225,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
225
225
  }
226
226
  };
227
227
  return _context.abrupt("return", _response2);
228
- case 17:
228
+ case 4:
229
229
  response = {
230
230
  statusCode: 400,
231
231
  message: _constants.FAILURE_MESSAGE,
@@ -234,21 +234,21 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
234
234
  }
235
235
  };
236
236
  return _context.abrupt("return", response);
237
- case 21:
238
- _context.prev = 21;
239
- _context.t0 = _context["catch"](3);
240
- errorInfo = _context.t0;
241
- _Logger.default.error("Failed to get call forward always setting: ".concat((0, _stringify.default)(_context.t0)), loggerContext);
242
- _context.next = 27;
237
+ case 5:
238
+ _context.prev = 5;
239
+ _t = _context["catch"](1);
240
+ errorInfo = _t;
241
+ _Logger.default.error("Failed to get call forward always setting: ".concat((0, _stringify.default)(_t)), loggerContext);
242
+ _context.next = 6;
243
243
  return (0, _Utils.uploadLogs)();
244
- case 27:
244
+ case 6:
245
245
  errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
246
246
  return _context.abrupt("return", errorStatus);
247
- case 29:
247
+ case 7:
248
248
  case "end":
249
249
  return _context.stop();
250
250
  }
251
- }, _callee, this, [[3, 21]]);
251
+ }, _callee, this, [[1, 5]]);
252
252
  }));
253
253
  function getCallForwardAlwaysSetting(_x) {
254
254
  return _getCallForwardAlwaysSetting.apply(this, arguments);
@@ -256,6 +256,5 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
256
256
  return getCallForwardAlwaysSetting;
257
257
  }())
258
258
  }]);
259
- return UcmBackendConnector;
260
259
  }();
261
260
  //# sourceMappingURL=UcmBackendConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Logger","_interopRequireDefault","require","_SDKConnector","_Utils","_constants","_types","_constants2","UcmBackendConnector","exports","webex","logger","useProdWebexApis","arguments","length","undefined","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","UCM_CONNECTOR_FILE","userId","internal","device","orgId","_createClass2","key","value","getCallWaitingSetting","loggerContext","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","getMethodNotSupportedResponse","getDoNotDisturbSetting","GET_DO_NOT_DISTURB_SETTING","setDoNotDisturbSetting","SET_DO_NOT_DISTURB_SETTING","getCallForwardSetting","GET_CALL_FORWARD_SETTING","setCallForwardSetting","SET_CALL_FORWARD_SETTING","getVoicemailSetting","GET_VOICEMAIL_SETTING","setVoicemailSetting","SET_VOICEMAIL_SETTING","GET_METHOD_NOT_SUPPORTED_RESPONSE","response","serviceErrorCodeHandler","statusCode","_promise","resolve","_getCallForwardAlwaysSetting","_asyncToGenerator2","_regenerator","mark","_callee","directoryNumber","webexApisUrl","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","GET_CALL_FORWARD_ALWAYS_SETTING","concat","WEBEX_API_CONFIG_PROD_URL","WEBEX_API_CONFIG_INT_URL","request","uri","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","HTTP_METHODS","GET","sent","body","always","find","item","dn","endsWith","e164Number","Number","STATUS_CODE","message","SUCCESS_MESSAGE","data","callSetting","enabled","destinationVoicemailEnabled","destination","VOICEMAIL","abrupt","FAILURE_MESSAGE","error","t0","_stringify","uploadLogs","stop","getCallForwardAlwaysSetting","_x","apply"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["import log from '../Logger';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {serviceErrorCodeHandler, uploadLogs} from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n VOICEMAIL,\n WEBEX_API_CONFIG_INT_URL,\n WEBEX_API_CONFIG_PROD_URL,\n} from '../common/constants';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {CF_ENDPOINT, METHODS, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {\n CallForwardAlwaysSetting,\n CallForwardingSettingsUCM,\n CallSettingResponse,\n IUcmBackendConnector,\n LoggerInterface,\n} from './types';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the CCUC with UCM backend.\n */\nexport class UcmBackendConnector implements IUcmBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private orgId: string;\n\n private useProdWebexApis: boolean;\n\n /**\n * @param useProdWebexApis - default value is true\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis = true) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n log.setLogger(logger.level, UCM_CONNECTOR_FILE);\n this.userId = this.webex.internal.device.userId;\n this.orgId = this.webex.internal.device.orgId;\n this.useProdWebexApis = useProdWebexApis;\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public setDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public setCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public setVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Returns a default error response for unsupported methods.\n */\n private getMethodNotSupportedResponse(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_METHOD_NOT_SUPPORTED_RESPONSE,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = serviceErrorCodeHandler({statusCode: 501}, loggerContext);\n\n return Promise.resolve(response);\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 * For UCM backend, relevant fields in the response are `enabled` & `destination`.\n *\n * @param directoryNumber - Directory number for which CFA needs to returned.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(\n directoryNumber ? `${METHOD_START_MESSAGE} with ${directoryNumber}` : METHOD_START_MESSAGE,\n loggerContext\n );\n\n const webexApisUrl = this.useProdWebexApis\n ? WEBEX_API_CONFIG_PROD_URL\n : WEBEX_API_CONFIG_INT_URL;\n\n try {\n if (directoryNumber) {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${webexApisUrl}/${PEOPLE_ENDPOINT}/${\n this.userId\n }/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response code: ${resp.statusCode}`, loggerContext);\n\n const {callForwarding} = resp.body as CallForwardingSettingsUCM;\n const cfa = callForwarding.always.find(\n (item) => item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber)\n );\n\n if (cfa) {\n const response = {\n statusCode: Number(resp[STATUS_CODE]),\n message: SUCCESS_MESSAGE,\n data: {\n callSetting: {\n enabled: cfa.destinationVoicemailEnabled || !!cfa.destination,\n destination: cfa.destinationVoicemailEnabled ? VOICEMAIL : cfa.destination,\n } as CallForwardAlwaysSetting,\n },\n };\n\n log.log(\n `Successfully retrieved call forward always setting for directory number: ${directoryNumber}`,\n loggerContext\n );\n\n return response;\n }\n const response = {\n statusCode: 404,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is not assigned to the user',\n },\n };\n\n return response;\n }\n const response = {\n statusCode: 400,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is mandatory for UCM backend',\n },\n };\n\n return response;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n log.error(`Failed to get call forward always setting: ${JSON.stringify(err)}`, loggerContext);\n await uploadLogs();\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Logger","_interopRequireDefault","require","_SDKConnector","_Utils","_constants","_types","_constants2","UcmBackendConnector","exports","webex","logger","useProdWebexApis","arguments","length","undefined","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","UCM_CONNECTOR_FILE","userId","internal","device","orgId","_createClass2","key","value","getCallWaitingSetting","loggerContext","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","getMethodNotSupportedResponse","getDoNotDisturbSetting","GET_DO_NOT_DISTURB_SETTING","setDoNotDisturbSetting","SET_DO_NOT_DISTURB_SETTING","getCallForwardSetting","GET_CALL_FORWARD_SETTING","setCallForwardSetting","SET_CALL_FORWARD_SETTING","getVoicemailSetting","GET_VOICEMAIL_SETTING","setVoicemailSetting","SET_VOICEMAIL_SETTING","GET_METHOD_NOT_SUPPORTED_RESPONSE","response","serviceErrorCodeHandler","statusCode","_promise","resolve","_getCallForwardAlwaysSetting","_asyncToGenerator2","_regenerator","mark","_callee","directoryNumber","webexApisUrl","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","_t","wrap","_context","prev","next","GET_CALL_FORWARD_ALWAYS_SETTING","concat","WEBEX_API_CONFIG_PROD_URL","WEBEX_API_CONFIG_INT_URL","request","uri","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","HTTP_METHODS","GET","sent","body","always","find","item","dn","endsWith","e164Number","Number","STATUS_CODE","message","SUCCESS_MESSAGE","data","callSetting","enabled","destinationVoicemailEnabled","destination","VOICEMAIL","abrupt","FAILURE_MESSAGE","error","_stringify","uploadLogs","stop","getCallForwardAlwaysSetting","_x","apply"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["import log from '../Logger';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {serviceErrorCodeHandler, uploadLogs} from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n VOICEMAIL,\n WEBEX_API_CONFIG_INT_URL,\n WEBEX_API_CONFIG_PROD_URL,\n} from '../common/constants';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {CF_ENDPOINT, METHODS, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {\n CallForwardAlwaysSetting,\n CallForwardingSettingsUCM,\n CallSettingResponse,\n IUcmBackendConnector,\n LoggerInterface,\n} from './types';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the CCUC with UCM backend.\n */\nexport class UcmBackendConnector implements IUcmBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private orgId: string;\n\n private useProdWebexApis: boolean;\n\n /**\n * @param useProdWebexApis - default value is true\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis = true) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n log.setLogger(logger.level, UCM_CONNECTOR_FILE);\n this.userId = this.webex.internal.device.userId;\n this.orgId = this.webex.internal.device.orgId;\n this.useProdWebexApis = useProdWebexApis;\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public setDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public setCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public setVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Returns a default error response for unsupported methods.\n */\n private getMethodNotSupportedResponse(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_METHOD_NOT_SUPPORTED_RESPONSE,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = serviceErrorCodeHandler({statusCode: 501}, loggerContext);\n\n return Promise.resolve(response);\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 * For UCM backend, relevant fields in the response are `enabled` & `destination`.\n *\n * @param directoryNumber - Directory number for which CFA needs to returned.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(\n directoryNumber ? `${METHOD_START_MESSAGE} with ${directoryNumber}` : METHOD_START_MESSAGE,\n loggerContext\n );\n\n const webexApisUrl = this.useProdWebexApis\n ? WEBEX_API_CONFIG_PROD_URL\n : WEBEX_API_CONFIG_INT_URL;\n\n try {\n if (directoryNumber) {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${webexApisUrl}/${PEOPLE_ENDPOINT}/${\n this.userId\n }/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n log.log(`Response code: ${resp.statusCode}`, loggerContext);\n\n const {callForwarding} = resp.body as CallForwardingSettingsUCM;\n const cfa = callForwarding.always.find(\n (item) => item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber)\n );\n\n if (cfa) {\n const response = {\n statusCode: Number(resp[STATUS_CODE]),\n message: SUCCESS_MESSAGE,\n data: {\n callSetting: {\n enabled: cfa.destinationVoicemailEnabled || !!cfa.destination,\n destination: cfa.destinationVoicemailEnabled ? VOICEMAIL : cfa.destination,\n } as CallForwardAlwaysSetting,\n },\n };\n\n log.log(\n `Successfully retrieved call forward always setting for directory number: ${directoryNumber}`,\n loggerContext\n );\n\n return response;\n }\n const response = {\n statusCode: 404,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is not assigned to the user',\n },\n };\n\n return response;\n }\n const response = {\n statusCode: 400,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is mandatory for UCM backend',\n },\n };\n\n return response;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n log.error(`Failed to get call forward always setting: ${JSON.stringify(err)}`, loggerContext);\n await uploadLogs();\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -68,12 +68,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
68
68
  });
69
69
  it('Success: Get Call Forward Always setting when set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
70
70
  var response, callForwardSetting;
71
- return _regenerator.default.wrap(function _callee$(_context) {
71
+ return _regenerator.default.wrap(function (_context) {
72
72
  while (1) switch (_context.prev = _context.next) {
73
73
  case 0:
74
- _context.next = 2;
74
+ _context.next = 1;
75
75
  return callSettingsClient.getCallForwardAlwaysSetting('8001');
76
- case 2:
76
+ case 1:
77
77
  response = _context.sent;
78
78
  callForwardSetting = response.data.callSetting;
79
79
  expect(response.statusCode).toEqual(200);
@@ -93,7 +93,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
93
93
  method: 'getCallForwardAlwaysSetting'
94
94
  });
95
95
  expect(_Logger.default.error).not.toHaveBeenCalled();
96
- case 12:
96
+ case 2:
97
97
  case "end":
98
98
  return _context.stop();
99
99
  }
@@ -101,12 +101,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
101
101
  })));
102
102
  it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
103
103
  var response, callForwardSetting;
104
- return _regenerator.default.wrap(function _callee2$(_context2) {
104
+ return _regenerator.default.wrap(function (_context2) {
105
105
  while (1) switch (_context2.prev = _context2.next) {
106
106
  case 0:
107
- _context2.next = 2;
107
+ _context2.next = 1;
108
108
  return callSettingsClient.getCallForwardAlwaysSetting('8002');
109
- case 2:
109
+ case 1:
110
110
  response = _context2.sent;
111
111
  callForwardSetting = response.data.callSetting;
112
112
  expect(response.statusCode).toEqual(200);
@@ -126,7 +126,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
126
126
  method: 'getCallForwardAlwaysSetting'
127
127
  });
128
128
  expect(_Logger.default.error).not.toHaveBeenCalled();
129
- case 12:
129
+ case 2:
130
130
  case "end":
131
131
  return _context2.stop();
132
132
  }
@@ -134,12 +134,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
134
134
  })));
135
135
  it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
136
136
  var response, callForwardSetting;
137
- return _regenerator.default.wrap(function _callee3$(_context3) {
137
+ return _regenerator.default.wrap(function (_context3) {
138
138
  while (1) switch (_context3.prev = _context3.next) {
139
139
  case 0:
140
- _context3.next = 2;
140
+ _context3.next = 1;
141
141
  return callSettingsClient.getCallForwardAlwaysSetting('8003');
142
- case 2:
142
+ case 1:
143
143
  response = _context3.sent;
144
144
  callForwardSetting = response.data.callSetting;
145
145
  expect(response.statusCode).toEqual(200);
@@ -159,7 +159,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
159
159
  method: 'getCallForwardAlwaysSetting'
160
160
  });
161
161
  expect(_Logger.default.error).not.toHaveBeenCalled();
162
- case 12:
162
+ case 2:
163
163
  case "end":
164
164
  return _context3.stop();
165
165
  }
@@ -167,12 +167,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
167
167
  })));
168
168
  it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
169
169
  var response, callForwardSetting;
170
- return _regenerator.default.wrap(function _callee4$(_context4) {
170
+ return _regenerator.default.wrap(function (_context4) {
171
171
  while (1) switch (_context4.prev = _context4.next) {
172
172
  case 0:
173
- _context4.next = 2;
173
+ _context4.next = 1;
174
174
  return callSettingsClient.getCallForwardAlwaysSetting('8006');
175
- case 2:
175
+ case 1:
176
176
  response = _context4.sent;
177
177
  callForwardSetting = response.data.callSetting;
178
178
  expect(response.statusCode).toEqual(200);
@@ -192,7 +192,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
192
192
  method: 'getCallForwardAlwaysSetting'
193
193
  });
194
194
  expect(_Logger.default.error).not.toHaveBeenCalled();
195
- case 12:
195
+ case 2:
196
196
  case "end":
197
197
  return _context4.stop();
198
198
  }
@@ -200,7 +200,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
200
200
  })));
201
201
  it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
202
202
  var responsePayload, serviceErrorCodeHandlerSpy, response;
203
- return _regenerator.default.wrap(function _callee5$(_context5) {
203
+ return _regenerator.default.wrap(function (_context5) {
204
204
  while (1) switch (_context5.prev = _context5.next) {
205
205
  case 0:
206
206
  responsePayload = {
@@ -209,9 +209,9 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
209
209
  webex.request.mockClear();
210
210
  webex.request.mockRejectedValue(responsePayload);
211
211
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
212
- _context5.next = 6;
212
+ _context5.next = 1;
213
213
  return callSettingsClient.getCallForwardAlwaysSetting('8002');
214
- case 6:
214
+ case 1:
215
215
  response = _context5.sent;
216
216
  expect(response.statusCode).toEqual(503);
217
217
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
@@ -233,7 +233,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
233
233
  method: 'getCallForwardAlwaysSetting'
234
234
  });
235
235
  expect(_Logger.default.log).not.toHaveBeenCalled();
236
- case 15:
236
+ case 2:
237
237
  case "end":
238
238
  return _context5.stop();
239
239
  }
@@ -241,12 +241,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
241
241
  })));
242
242
  it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
243
243
  var response;
244
- return _regenerator.default.wrap(function _callee6$(_context6) {
244
+ return _regenerator.default.wrap(function (_context6) {
245
245
  while (1) switch (_context6.prev = _context6.next) {
246
246
  case 0:
247
- _context6.next = 2;
247
+ _context6.next = 1;
248
248
  return callSettingsClient.getCallForwardAlwaysSetting('8005');
249
- case 2:
249
+ case 1:
250
250
  response = _context6.sent;
251
251
  expect(response.statusCode).toEqual(404);
252
252
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
@@ -260,7 +260,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
260
260
  method: 'getCallForwardAlwaysSetting'
261
261
  });
262
262
  expect(_Logger.default.error).not.toHaveBeenCalled();
263
- case 9:
263
+ case 2:
264
264
  case "end":
265
265
  return _context6.stop();
266
266
  }
@@ -268,12 +268,12 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
268
268
  })));
269
269
  it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
270
270
  var response;
271
- return _regenerator.default.wrap(function _callee7$(_context7) {
271
+ return _regenerator.default.wrap(function (_context7) {
272
272
  while (1) switch (_context7.prev = _context7.next) {
273
273
  case 0:
274
- _context7.next = 2;
274
+ _context7.next = 1;
275
275
  return callSettingsClient.getCallForwardAlwaysSetting();
276
- case 2:
276
+ case 1:
277
277
  response = _context7.sent;
278
278
  expect(response.statusCode).toEqual(400);
279
279
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
@@ -284,7 +284,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
284
284
  method: 'getCallForwardAlwaysSetting'
285
285
  });
286
286
  expect(_Logger.default.error).not.toHaveBeenCalled();
287
- case 9:
287
+ case 2:
288
288
  case "end":
289
289
  return _context7.stop();
290
290
  }
@@ -295,18 +295,18 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
295
295
  it.each(unsupportedMethods)('%s', /*#__PURE__*/function () {
296
296
  var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(methodName) {
297
297
  var response;
298
- return _regenerator.default.wrap(function _callee8$(_context8) {
298
+ return _regenerator.default.wrap(function (_context8) {
299
299
  while (1) switch (_context8.prev = _context8.next) {
300
300
  case 0:
301
- _context8.next = 2;
301
+ _context8.next = 1;
302
302
  return callSettingsClient[methodName]();
303
- case 2:
303
+ case 1:
304
304
  response = _context8.sent;
305
305
  expect(response.statusCode).toEqual(501);
306
306
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
307
307
  expect(response.data.error).toEqual('Method is not implemented at the backend');
308
308
  expect(webex.request).not.toBeCalled();
309
- case 7:
309
+ case 2:
310
310
  case "end":
311
311
  return _context8.stop();
312
312
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","utils","_interopRequireWildcard","_constants","_testUtil","_types2","_UcmBackendConnector","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","jest","spyOn","mockResolvedValue","undefined","describe","webex","getTestUtilsWebex","userId","orgId","callSettingsClient","callForwardPayload","callForwarding","always","dn","destination","destinationVoicemailEnabled","e164Number","callForwardingUri","concat","WEBEX_API_CONFIG_INT_URL","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","beforeAll","UcmBackendConnector","level","LOGGER","INFO","beforeEach","responsePayload","statusCode","body","request","log","mockImplementation","it","_asyncToGenerator2","_regenerator","mark","_callee","response","callForwardSetting","wrap","_callee$","_context","prev","next","getCallForwardAlwaysSetting","sent","data","callSetting","expect","toEqual","message","SUCCESS_MESSAGE","enabled","toBeCalledOnceWith","method","HTTP_METHODS","GET","uri","info","toHaveBeenCalledWith","file","UCM_CONNECTOR_FILE","error","not","toHaveBeenCalled","stop","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","toBeFalsy","_callee4","_callee4$","_context4","_callee5","serviceErrorCodeHandlerSpy","_callee5$","_context5","mockClear","mockRejectedValue","FAILURE_MESSAGE","name","_stringify","_callee6","_callee6$","_context6","_callee7","_callee7$","_context7","toBeCalled","unsupportedMethods","each","_ref8","_callee8","methodName","_callee8$","_context8","_x","apply","arguments"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\nimport log from '../Logger';\nimport * as utils from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n WEBEX_API_CONFIG_INT_URL,\n} from '../common/constants';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {CF_ENDPOINT, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {CallForwardAlwaysSetting, CallForwardingSettingsUCM, IUcmBackendConnector} from './types';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Call Settings Client Tests for UcmBackendConnector', () => {\n const webex = getTestUtilsWebex();\n\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const orgId = '1704d30d-a131-4bc7-9449-948487643793';\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IUcmBackendConnector;\n const callForwardPayload: CallForwardingSettingsUCM = {\n callForwarding: {\n always: [\n {\n dn: '8001',\n destination: '8004',\n destinationVoicemailEnabled: false,\n e164Number: '+14922999903',\n },\n {\n dn: '8002',\n destinationVoicemailEnabled: true,\n e164Number: '',\n },\n {\n dn: '8003',\n destinationVoicemailEnabled: false,\n e164Number: '',\n },\n {\n dn: '8000',\n destination: '8007',\n destinationVoicemailEnabled: false,\n e164Number: '8006',\n },\n ],\n },\n };\n\n const callForwardingUri = `${WEBEX_API_CONFIG_INT_URL}/${PEOPLE_ENDPOINT}/${userId}/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new UcmBackendConnector(webex, {level: LOGGER.INFO}, false);\n });\n\n beforeEach(() => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValue(responsePayload);\n\n // Setup log spies\n jest.spyOn(log, 'log').mockImplementation(() => {});\n jest.spyOn(log, 'info').mockImplementation(() => {});\n jest.spyOn(log, 'warn').mockImplementation(() => {});\n jest.spyOn(log, 'error').mockImplementation(() => {});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8001');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8004');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8001', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8001',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('VOICEMAIL');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8002',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8003');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8003', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8003',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8006');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8007');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8006', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8006',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 503,\n });\n\n webex.request.mockClear();\n webex.request.mockRejectedValue(responsePayload);\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n expect(response.statusCode).toEqual(503);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Unable to establish a connection with the server');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(responsePayload, {\n file: UCM_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).toHaveBeenCalledWith(\n `Failed to get call forward always setting: ${JSON.stringify(responsePayload)}`,\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.log).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8005');\n\n expect(response.statusCode).toEqual(404);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is not assigned to the user');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8005', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toEqual(400);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');\n expect(webex.request).not.toBeCalled();\n\n expect(log.info).toHaveBeenCalledWith('invoking', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n describe('Unsupported methods return failure', () => {\n const unsupportedMethods = [\n 'getCallWaitingSetting',\n 'getDoNotDisturbSetting',\n 'setDoNotDisturbSetting',\n 'getCallForwardSetting',\n 'setCallForwardSetting',\n 'getVoicemailSetting',\n 'setVoicemailSetting',\n ];\n\n it.each(unsupportedMethods)('%s', async (methodName) => {\n const response = await callSettingsClient[methodName]();\n\n expect(response.statusCode).toEqual(501);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Method is not implemented at the backend');\n expect(webex.request).not.toBeCalled();\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","utils","_interopRequireWildcard","_constants","_testUtil","_types2","_UcmBackendConnector","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","jest","spyOn","mockResolvedValue","undefined","describe","webex","getTestUtilsWebex","userId","orgId","callSettingsClient","callForwardPayload","callForwarding","always","dn","destination","destinationVoicemailEnabled","e164Number","callForwardingUri","concat","WEBEX_API_CONFIG_INT_URL","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","beforeAll","UcmBackendConnector","level","LOGGER","INFO","beforeEach","responsePayload","statusCode","body","request","log","mockImplementation","it","_asyncToGenerator2","_regenerator","mark","_callee","response","callForwardSetting","wrap","_context","prev","next","getCallForwardAlwaysSetting","sent","data","callSetting","expect","toEqual","message","SUCCESS_MESSAGE","enabled","toBeCalledOnceWith","method","HTTP_METHODS","GET","uri","info","toHaveBeenCalledWith","file","UCM_CONNECTOR_FILE","error","not","toHaveBeenCalled","stop","_callee2","_context2","_callee3","_context3","toBeFalsy","_callee4","_context4","_callee5","serviceErrorCodeHandlerSpy","_context5","mockClear","mockRejectedValue","FAILURE_MESSAGE","name","_stringify","_callee6","_context6","_callee7","_context7","toBeCalled","unsupportedMethods","each","_ref8","_callee8","methodName","_context8","_x","apply","arguments"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\nimport log from '../Logger';\nimport * as utils from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n WEBEX_API_CONFIG_INT_URL,\n} from '../common/constants';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {CF_ENDPOINT, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {CallForwardAlwaysSetting, CallForwardingSettingsUCM, IUcmBackendConnector} from './types';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Call Settings Client Tests for UcmBackendConnector', () => {\n const webex = getTestUtilsWebex();\n\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const orgId = '1704d30d-a131-4bc7-9449-948487643793';\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IUcmBackendConnector;\n const callForwardPayload: CallForwardingSettingsUCM = {\n callForwarding: {\n always: [\n {\n dn: '8001',\n destination: '8004',\n destinationVoicemailEnabled: false,\n e164Number: '+14922999903',\n },\n {\n dn: '8002',\n destinationVoicemailEnabled: true,\n e164Number: '',\n },\n {\n dn: '8003',\n destinationVoicemailEnabled: false,\n e164Number: '',\n },\n {\n dn: '8000',\n destination: '8007',\n destinationVoicemailEnabled: false,\n e164Number: '8006',\n },\n ],\n },\n };\n\n const callForwardingUri = `${WEBEX_API_CONFIG_INT_URL}/${PEOPLE_ENDPOINT}/${userId}/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new UcmBackendConnector(webex, {level: LOGGER.INFO}, false);\n });\n\n beforeEach(() => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValue(responsePayload);\n\n // Setup log spies\n jest.spyOn(log, 'log').mockImplementation(() => {});\n jest.spyOn(log, 'info').mockImplementation(() => {});\n jest.spyOn(log, 'warn').mockImplementation(() => {});\n jest.spyOn(log, 'error').mockImplementation(() => {});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8001');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8004');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8001', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8001',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('VOICEMAIL');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8002',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8003');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8003', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8003',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8006');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8007');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8006', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8006',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 503,\n });\n\n webex.request.mockClear();\n webex.request.mockRejectedValue(responsePayload);\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n expect(response.statusCode).toEqual(503);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Unable to establish a connection with the server');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(responsePayload, {\n file: UCM_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).toHaveBeenCalledWith(\n `Failed to get call forward always setting: ${JSON.stringify(responsePayload)}`,\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.log).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8005');\n\n expect(response.statusCode).toEqual(404);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is not assigned to the user');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8005', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toEqual(400);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');\n expect(webex.request).not.toBeCalled();\n\n expect(log.info).toHaveBeenCalledWith('invoking', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n describe('Unsupported methods return failure', () => {\n const unsupportedMethods = [\n 'getCallWaitingSetting',\n 'getDoNotDisturbSetting',\n 'setDoNotDisturbSetting',\n 'getCallForwardSetting',\n 'setCallForwardSetting',\n 'getVoicemailSetting',\n 'setVoicemailSetting',\n ];\n\n it.each(unsupportedMethods)('%s', async (methodName) => {\n const response = await callSettingsClient[methodName]();\n\n expect(response.statusCode).toEqual(501);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Method is not implemented at the backend');\n expect(webex.request).not.toBeCalled();\n });\n });\n });\n});\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAMA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAAuE,SAAAI,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,QAAA,MAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAR,uBAAA,YAAAA,wBAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,gBAAAW,OAAA,CAAAX,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAM,GAAA,CAAAZ,CAAA,UAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,GAAAM,CAAA,CAAAQ,GAAA,CAAAd,CAAA,EAAAQ,CAAA,cAAAO,EAAA,IAAAf,CAAA,gBAAAe,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,EAAA,OAAAR,CAAA,IAAAD,CAAA,GAAAY,sBAAA,KAAAC,gCAAA,CAAAnB,CAAA,EAAAe,EAAA,OAAAR,CAAA,CAAAM,GAAA,IAAAN,CAAA,CAAAO,GAAA,IAAAR,CAAA,CAAAE,CAAA,EAAAO,EAAA,EAAAR,CAAA,IAAAC,CAAA,CAAAO,EAAA,IAAAf,CAAA,CAAAe,EAAA,WAAAP,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGvEmB,IAAI,CAACC,KAAK,CAAC5B,KAAK,EAAE,YAAY,CAAC,CAAC6B,iBAAiB,CAACC,SAAS,CAAC;AAE5DC,QAAQ,CAAC,oDAAoD,EAAE,YAAM;EACnE,IAAMC,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EAEjC,IAAMC,MAAM,GAAG,sCAAsC;EACrD,IAAMC,KAAK,GAAG,sCAAsC;EAEpDJ,QAAQ,CAAC,0BAA0B,EAAE,YAAM;IACzC,IAAIK,kBAAwC;IAC5C,IAAMC,kBAA6C,GAAG;MACpDC,cAAc,EAAE;QACdC,MAAM,EAAE,CACN;UACEC,EAAE,EAAE,MAAM;UACVC,WAAW,EAAE,MAAM;UACnBC,2BAA2B,EAAE,KAAK;UAClCC,UAAU,EAAE;QACd,CAAC,EACD;UACEH,EAAE,EAAE,MAAM;UACVE,2BAA2B,EAAE,IAAI;UACjCC,UAAU,EAAE;QACd,CAAC,EACD;UACEH,EAAE,EAAE,MAAM;UACVE,2BAA2B,EAAE,KAAK;UAClCC,UAAU,EAAE;QACd,CAAC,EACD;UACEH,EAAE,EAAE,MAAM;UACVC,WAAW,EAAE,MAAM;UACnBC,2BAA2B,EAAE,KAAK;UAClCC,UAAU,EAAE;QACd,CAAC;MAEL;IACF,CAAC;IAED,IAAMC,iBAAiB,MAAAC,MAAA,CAAMC,mCAAwB,OAAAD,MAAA,CAAIE,2BAAe,OAAAF,MAAA,CAAIX,MAAM,OAAAW,MAAA,CAAIG,uBAAW,CAACC,WAAW,CAAC,CAAC,OAAAJ,MAAA,CAAIK,wBAAY,OAAAL,MAAA,CAAIV,KAAK,CAAE;IAE1IgB,SAAS,CAAC,YAAM;MACdf,kBAAkB,GAAG,IAAIgB,wCAAmB,CAACpB,KAAK,EAAE;QAACqB,KAAK,EAAEC,aAAM,CAACC;MAAI,CAAC,EAAE,KAAK,CAAC;IAClF,CAAC,CAAC;IAEFC,UAAU,CAAC,YAAM;MACf,IAAMC,eAAe,GAAkC;QACrDC,UAAU,EAAE,GAAG;QACfC,IAAI,EAAEtB;MACR,CAAE;MAEFL,KAAK,CAAC4B,OAAO,CAAC/B,iBAAiB,CAAC4B,eAAe,CAAC;;MAEhD;MACA9B,IAAI,CAACC,KAAK,CAACiC,eAAG,EAAE,KAAK,CAAC,CAACC,kBAAkB,CAAC,YAAM,CAAC,CAAC,CAAC;MACnDnC,IAAI,CAACC,KAAK,CAACiC,eAAG,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,YAAM,CAAC,CAAC,CAAC;MACpDnC,IAAI,CAACC,KAAK,CAACiC,eAAG,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,YAAM,CAAC,CAAC,CAAC;MACpDnC,IAAI,CAACC,KAAK,CAACiC,eAAG,EAAE,OAAO,CAAC,CAACC,kBAAkB,CAAC,YAAM,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IAEFC,EAAE,CAAC,kEAAkE,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAAC,QAAA;MAAA,IAAAC,QAAA,EAAAC,kBAAA;MAAA,OAAAJ,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC9CrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAERN,kBAAkB,GAAGD,QAAQ,CAACQ,IAAI,CAACC,WAAW;YAEpDC,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAACE,0BAAe,CAAC;YACjDH,MAAM,CAACT,kBAAkB,CAACa,OAAO,CAAC,CAACH,OAAO,CAAC,IAAI,CAAC;YAChDD,MAAM,CAACT,kBAAkB,CAAC5B,WAAW,CAAC,CAACsC,OAAO,CAAC,MAAM,CAAC;YACtDD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YAEFkC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAACA,GAAG,CAAC,CAAC4B,oBAAoB,CAClC,+EAA+E,EAC/E;cACEC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CACF,CAAC;YACDN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAvB,QAAA,CAAAwB,IAAA;QAAA;MAAA,GAAA5B,OAAA;IAAA,CAC1C,GAAC;IAEFJ,EAAE,CAAC,gEAAgE,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAA8B,SAAA;MAAA,IAAA5B,QAAA,EAAAC,kBAAA;MAAA,OAAAJ,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAA2B,SAAA;QAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;UAAA;YAAAwB,SAAA,CAAAxB,IAAA;YAAA,OAC5CrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAA6B,SAAA,CAAAtB,IAAA;YAERN,kBAAkB,GAAGD,QAAQ,CAACQ,IAAI,CAACC,WAAW;YAEpDC,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAACE,0BAAe,CAAC;YACjDH,MAAM,CAACT,kBAAkB,CAACa,OAAO,CAAC,CAACH,OAAO,CAAC,IAAI,CAAC;YAChDD,MAAM,CAACT,kBAAkB,CAAC5B,WAAW,CAAC,CAACsC,OAAO,CAAC,WAAW,CAAC;YAC3DD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YAEFkC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAACA,GAAG,CAAC,CAAC4B,oBAAoB,CAClC,+EAA+E,EAC/E;cACEC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CACF,CAAC;YACDN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAG,SAAA,CAAAF,IAAA;QAAA;MAAA,GAAAC,QAAA;IAAA,CAC1C,GAAC;IAEFjC,EAAE,CAAC,uDAAuD,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAAgC,SAAA;MAAA,IAAA9B,QAAA,EAAAC,kBAAA;MAAA,OAAAJ,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAA6B,SAAA;QAAA,kBAAAA,SAAA,CAAA3B,IAAA,GAAA2B,SAAA,CAAA1B,IAAA;UAAA;YAAA0B,SAAA,CAAA1B,IAAA;YAAA,OACnCrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAA+B,SAAA,CAAAxB,IAAA;YAERN,kBAAkB,GAAGD,QAAQ,CAACQ,IAAI,CAACC,WAAW;YAEpDC,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAACE,0BAAe,CAAC;YACjDH,MAAM,CAACT,kBAAkB,CAACa,OAAO,CAAC,CAACH,OAAO,CAAC,KAAK,CAAC;YACjDD,MAAM,CAACT,kBAAkB,CAAC5B,WAAW,CAAC,CAAC2D,SAAS,CAAC,CAAC;YAClDtB,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YAEFkC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAACA,GAAG,CAAC,CAAC4B,oBAAoB,CAClC,+EAA+E,EAC/E;cACEC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CACF,CAAC;YACDN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAK,SAAA,CAAAJ,IAAA;QAAA;MAAA,GAAAG,QAAA;IAAA,CAC1C,GAAC;IAEFnC,EAAE,CAAC,4GAA4G,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAAmC,SAAA;MAAA,IAAAjC,QAAA,EAAAC,kBAAA;MAAA,OAAAJ,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAAgC,SAAA;QAAA,kBAAAA,SAAA,CAAA9B,IAAA,GAAA8B,SAAA,CAAA7B,IAAA;UAAA;YAAA6B,SAAA,CAAA7B,IAAA;YAAA,OACxFrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAAkC,SAAA,CAAA3B,IAAA;YAERN,kBAAkB,GAAGD,QAAQ,CAACQ,IAAI,CAACC,WAAW;YAEpDC,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAACE,0BAAe,CAAC;YACjDH,MAAM,CAACT,kBAAkB,CAACa,OAAO,CAAC,CAACH,OAAO,CAAC,IAAI,CAAC;YAChDD,MAAM,CAACT,kBAAkB,CAAC5B,WAAW,CAAC,CAACsC,OAAO,CAAC,MAAM,CAAC;YACtDD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YAEFkC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAACA,GAAG,CAAC,CAAC4B,oBAAoB,CAClC,+EAA+E,EAC/E;cACEC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CACF,CAAC;YACDN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAQ,SAAA,CAAAP,IAAA;QAAA;MAAA,GAAAM,QAAA;IAAA,CAC1C,GAAC;IAEFtC,EAAE,CAAC,gDAAgD,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAAqC,SAAA;MAAA,IAAA9C,eAAA,EAAA+C,0BAAA,EAAApC,QAAA;MAAA,OAAAH,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAAmC,SAAA;QAAA,kBAAAA,SAAA,CAAAjC,IAAA,GAAAiC,SAAA,CAAAhC,IAAA;UAAA;YAC7ChB,eAAe,GAAkC;cACrDC,UAAU,EAAE;YACd,CAAC;YAED1B,KAAK,CAAC4B,OAAO,CAAC8C,SAAS,CAAC,CAAC;YACzB1E,KAAK,CAAC4B,OAAO,CAAC+C,iBAAiB,CAAClD,eAAe,CAAC;YAC1C+C,0BAA0B,GAAG7E,IAAI,CAACC,KAAK,CAAC5B,KAAK,EAAE,yBAAyB,CAAC;YAAAyG,SAAA,CAAAhC,IAAA;YAAA,OACxDrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAAqC,SAAA,CAAA9B,IAAA;YAEdG,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAAC6B,0BAAe,CAAC;YACjD9B,MAAM,CAACV,QAAQ,CAACQ,IAAI,CAACgB,KAAK,CAAC,CAACb,OAAO,CAAC,kDAAkD,CAAC;YACvFD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YACFkC,MAAM,CAAC0B,0BAA0B,CAAC,CAACrB,kBAAkB,CAAC1B,eAAe,EAAE;cACrEiC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAEhD,kBAAkB,CAACsC,2BAA2B,CAACmC;YACzD,CAAC,CAAC;YAEF/B,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACH,oBAAoB,+CAAA5C,MAAA,CACU,IAAAiE,UAAA,CAAA7F,OAAA,EAAewC,eAAe,CAAC,GAC7E;cACEiC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CACF,CAAC;YACDN,MAAM,CAACjB,eAAG,CAACA,GAAG,CAAC,CAACgC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAW,SAAA,CAAAV,IAAA;QAAA;MAAA,GAAAQ,QAAA;IAAA,CACxC,GAAC;IAEFxC,EAAE,CAAC,wEAAwE,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAA6C,SAAA;MAAA,IAAA3C,QAAA;MAAA,OAAAH,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAA0C,SAAA;QAAA,kBAAAA,SAAA,CAAAxC,IAAA,GAAAwC,SAAA,CAAAvC,IAAA;UAAA;YAAAuC,SAAA,CAAAvC,IAAA;YAAA,OACpDrC,kBAAkB,CAACsC,2BAA2B,CAAC,MAAM,CAAC;UAAA;YAAvEN,QAAQ,GAAA4C,SAAA,CAAArC,IAAA;YAEdG,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAAC6B,0BAAe,CAAC;YACjD9B,MAAM,CAACV,QAAQ,CAACQ,IAAI,CAACgB,KAAK,CAAC,CAACb,OAAO,CAAC,8CAA8C,CAAC;YACnFD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACuB,kBAAkB,CAAC;cACvCC,MAAM,EAAEC,oBAAY,CAACC,GAAG;cACxBC,GAAG,EAAE3C;YACP,CAAC,CAAC;YAEFkC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,oBAAoB,EAAE;cAC1DC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAkB,SAAA,CAAAjB,IAAA;QAAA;MAAA,GAAAgB,QAAA;IAAA,CAC1C,GAAC;IAEFhD,EAAE,CAAC,gFAAgF,mBAAAC,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAA+C,SAAA;MAAA,IAAA7C,QAAA;MAAA,OAAAH,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAA4C,SAAA;QAAA,kBAAAA,SAAA,CAAA1C,IAAA,GAAA0C,SAAA,CAAAzC,IAAA;UAAA;YAAAyC,SAAA,CAAAzC,IAAA;YAAA,OAC5DrC,kBAAkB,CAACsC,2BAA2B,CAAC,CAAC;UAAA;YAAjEN,QAAQ,GAAA8C,SAAA,CAAAvC,IAAA;YAEdG,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;YACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAAC6B,0BAAe,CAAC;YACjD9B,MAAM,CAACV,QAAQ,CAACQ,IAAI,CAACgB,KAAK,CAAC,CAACb,OAAO,CAAC,+CAA+C,CAAC;YACpFD,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACiC,GAAG,CAACsB,UAAU,CAAC,CAAC;YAEtCrC,MAAM,CAACjB,eAAG,CAAC2B,IAAI,CAAC,CAACC,oBAAoB,CAAC,UAAU,EAAE;cAChDC,IAAI,EAAEC,6BAAkB;cACxBP,MAAM,EAAE;YACV,CAAC,CAAC;YACFN,MAAM,CAACjB,eAAG,CAAC+B,KAAK,CAAC,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAoB,SAAA,CAAAnB,IAAA;QAAA;MAAA,GAAAkB,QAAA;IAAA,CAC1C,GAAC;IAEFlF,QAAQ,CAAC,oCAAoC,EAAE,YAAM;MACnD,IAAMqF,kBAAkB,GAAG,CACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,CACtB;MAEDrD,EAAE,CAACsD,IAAI,CAACD,kBAAkB,CAAC,CAAC,IAAI;QAAA,IAAAE,KAAA,OAAAtD,kBAAA,CAAA/C,OAAA,eAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAE,SAAAqD,SAAOC,UAAU;UAAA,IAAApD,QAAA;UAAA,OAAAH,YAAA,CAAAhD,OAAA,CAAAqD,IAAA,WAAAmD,SAAA;YAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAAhD,IAAA;cAAA;gBAAAgD,SAAA,CAAAhD,IAAA;gBAAA,OAC1BrC,kBAAkB,CAACoF,UAAU,CAAC,CAAC,CAAC;cAAA;gBAAjDpD,QAAQ,GAAAqD,SAAA,CAAA9C,IAAA;gBAEdG,MAAM,CAACV,QAAQ,CAACV,UAAU,CAAC,CAACqB,OAAO,CAAC,GAAG,CAAC;gBACxCD,MAAM,CAACV,QAAQ,CAACY,OAAO,CAAC,CAACD,OAAO,CAAC6B,0BAAe,CAAC;gBACjD9B,MAAM,CAACV,QAAQ,CAACQ,IAAI,CAACgB,KAAK,CAAC,CAACb,OAAO,CAAC,0CAA0C,CAAC;gBAC/ED,MAAM,CAAC9C,KAAK,CAAC4B,OAAO,CAAC,CAACiC,GAAG,CAACsB,UAAU,CAAC,CAAC;cAAC;cAAA;gBAAA,OAAAM,SAAA,CAAA1B,IAAA;YAAA;UAAA,GAAAwB,QAAA;QAAA,CACxC;QAAA,iBAAAG,EAAA;UAAA,OAAAJ,KAAA,CAAAK,KAAA,OAAAC,SAAA;QAAA;MAAA,IAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}