@webex/calling 3.0.0-next.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/CallHistory/CallHistory.js +48 -48
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +9 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js +63 -7
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  7. package/dist/CallHistory/constants.js +9 -18
  8. package/dist/CallHistory/constants.js.map +1 -1
  9. package/dist/CallSettings/CallSettings.js +18 -13
  10. package/dist/CallSettings/CallSettings.js.map +1 -1
  11. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.js +7 -8
  13. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  14. package/dist/CallSettings/UcmBackendConnector.test.js +69 -37
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +19 -13
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +2 -2
  19. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  20. package/dist/CallSettings/constants.js +11 -22
  21. package/dist/CallSettings/constants.js.map +1 -1
  22. package/dist/CallSettings/testFixtures.js +4 -8
  23. package/dist/CallSettings/testFixtures.js.map +1 -1
  24. package/dist/CallSettings/types.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.js +108 -64
  26. package/dist/CallingClient/CallingClient.js.map +1 -1
  27. package/dist/CallingClient/CallingClient.test.js +170 -109
  28. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  29. package/dist/CallingClient/callRecordFixtures.js +2 -4
  30. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  31. package/dist/CallingClient/calling/CallerId/index.js +9 -29
  32. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  33. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  34. package/dist/CallingClient/calling/call.js +136 -70
  35. package/dist/CallingClient/calling/call.js.map +1 -1
  36. package/dist/CallingClient/calling/call.test.js +651 -409
  37. package/dist/CallingClient/calling/call.test.js.map +1 -1
  38. package/dist/CallingClient/calling/callManager.js +3 -5
  39. package/dist/CallingClient/calling/callManager.js.map +1 -1
  40. package/dist/CallingClient/calling/callManager.test.js +1 -1
  41. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  42. package/dist/CallingClient/calling/types.js +31 -33
  43. package/dist/CallingClient/calling/types.js.map +1 -1
  44. package/dist/CallingClient/callingClientFixtures.js +107 -17
  45. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  46. package/dist/CallingClient/constants.js +101 -193
  47. package/dist/CallingClient/constants.js.map +1 -1
  48. package/dist/CallingClient/line/index.js +18 -17
  49. package/dist/CallingClient/line/index.js.map +1 -1
  50. package/dist/CallingClient/line/line.test.js +13 -13
  51. package/dist/CallingClient/line/line.test.js.map +1 -1
  52. package/dist/CallingClient/line/types.js +7 -14
  53. package/dist/CallingClient/line/types.js.map +1 -1
  54. package/dist/CallingClient/registration/register.js +90 -71
  55. package/dist/CallingClient/registration/register.js.map +1 -1
  56. package/dist/CallingClient/registration/register.test.js +33 -32
  57. package/dist/CallingClient/registration/register.test.js.map +1 -1
  58. package/dist/CallingClient/registration/registerFixtures.js +5 -10
  59. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  60. package/dist/CallingClient/registration/types.js.map +1 -1
  61. package/dist/Contacts/ContactsClient.js +30 -19
  62. package/dist/Contacts/ContactsClient.js.map +1 -1
  63. package/dist/Contacts/ContactsClient.test.js +4 -4
  64. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  65. package/dist/Contacts/constants.js +10 -18
  66. package/dist/Contacts/constants.js.map +1 -1
  67. package/dist/Contacts/contactFixtures.js +26 -52
  68. package/dist/Contacts/contactFixtures.js.map +1 -1
  69. package/dist/Contacts/types.js +29 -9
  70. package/dist/Contacts/types.js.map +1 -1
  71. package/dist/Errors/catalog/CallError.js +3 -5
  72. package/dist/Errors/catalog/CallError.js.map +1 -1
  73. package/dist/Errors/catalog/CallingDeviceError.js +4 -6
  74. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  75. package/dist/Errors/catalog/ExtendedError.js +2 -3
  76. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  77. package/dist/Errors/catalog/LineError.js +5 -7
  78. package/dist/Errors/catalog/LineError.js.map +1 -1
  79. package/dist/Errors/index.js +7 -0
  80. package/dist/Errors/index.js.map +1 -1
  81. package/dist/Errors/types.js +15 -20
  82. package/dist/Errors/types.js.map +1 -1
  83. package/dist/Events/impl/index.js +2 -3
  84. package/dist/Events/impl/index.js.map +1 -1
  85. package/dist/Events/types.js +44 -52
  86. package/dist/Events/types.js.map +1 -1
  87. package/dist/Logger/index.js +1 -2
  88. package/dist/Logger/index.js.map +1 -1
  89. package/dist/Logger/index.test.js.map +1 -1
  90. package/dist/Logger/types.js +9 -12
  91. package/dist/Logger/types.js.map +1 -1
  92. package/dist/Metrics/index.js +2 -4
  93. package/dist/Metrics/index.js.map +1 -1
  94. package/dist/Metrics/index.test.js +3 -3
  95. package/dist/Metrics/index.test.js.map +1 -1
  96. package/dist/Metrics/types.js +15 -20
  97. package/dist/Metrics/types.js.map +1 -1
  98. package/dist/SDKConnector/index.js +1 -2
  99. package/dist/SDKConnector/index.js.map +1 -1
  100. package/dist/SDKConnector/types.js.map +1 -1
  101. package/dist/SDKConnector/utils.js +1 -2
  102. package/dist/SDKConnector/utils.js.map +1 -1
  103. package/dist/Voicemail/BroadworksBackendConnector.js +21 -12
  104. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  105. package/dist/Voicemail/BroadworksBackendConnector.test.js +2 -2
  106. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  107. package/dist/Voicemail/UcmBackendConnector.js +19 -11
  108. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  109. package/dist/Voicemail/UcmBackendConnector.test.js +5 -4
  110. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  111. package/dist/Voicemail/Voicemail.js +17 -12
  112. package/dist/Voicemail/Voicemail.js.map +1 -1
  113. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  114. package/dist/Voicemail/WxCallBackendConnector.js +17 -10
  115. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  116. package/dist/Voicemail/WxCallBackendConnector.test.js +4 -4
  117. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  118. package/dist/Voicemail/constants.js +29 -58
  119. package/dist/Voicemail/constants.js.map +1 -1
  120. package/dist/Voicemail/voicemailFixture.js +35 -70
  121. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  122. package/dist/api.js.map +1 -1
  123. package/dist/common/Utils.js +18 -25
  124. package/dist/common/Utils.js.map +1 -1
  125. package/dist/common/Utils.test.js +3 -3
  126. package/dist/common/Utils.test.js.map +1 -1
  127. package/dist/common/constants.js +41 -82
  128. package/dist/common/constants.js.map +1 -1
  129. package/dist/common/testUtil.js +12 -21
  130. package/dist/common/testUtil.js.map +1 -1
  131. package/dist/common/types.js +34 -43
  132. package/dist/common/types.js.map +1 -1
  133. package/dist/index.js +246 -0
  134. package/dist/index.js.map +1 -1
  135. package/dist/module/CallHistory/CallHistory.js +7 -5
  136. package/dist/module/CallHistory/callHistoryFixtures.js +59 -0
  137. package/dist/module/CallSettings/UcmBackendConnector.js +4 -4
  138. package/dist/module/CallingClient/CallingClient.js +59 -42
  139. package/dist/module/CallingClient/calling/CallerId/index.js +3 -23
  140. package/dist/module/CallingClient/calling/call.js +69 -26
  141. package/dist/module/CallingClient/callingClientFixtures.js +119 -1
  142. package/dist/module/CallingClient/constants.js +8 -4
  143. package/dist/module/CallingClient/line/index.js +9 -12
  144. package/dist/module/CallingClient/line/types.js +0 -5
  145. package/dist/module/CallingClient/registration/register.js +28 -20
  146. package/dist/module/Errors/catalog/CallingDeviceError.js +2 -2
  147. package/dist/module/Errors/catalog/LineError.js +2 -2
  148. package/dist/module/Errors/index.js +1 -0
  149. package/dist/module/Events/types.js +2 -0
  150. package/dist/module/common/Utils.js +14 -19
  151. package/dist/module/common/testUtil.js +2 -1
  152. package/dist/module/common/types.js +6 -5
  153. package/dist/module/index.js +9 -0
  154. package/dist/types/CallHistory/CallHistory.d.ts +2 -1
  155. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  156. package/dist/types/CallHistory/callHistoryFixtures.d.ts +1 -0
  157. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
  158. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -1
  159. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  160. package/dist/types/CallSettings/types.d.ts +1 -0
  161. package/dist/types/CallSettings/types.d.ts.map +1 -1
  162. package/dist/types/CallingClient/CallingClient.d.ts +2 -0
  163. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  164. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -1
  165. package/dist/types/CallingClient/calling/call.d.ts +2 -0
  166. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  167. package/dist/types/CallingClient/calling/types.d.ts +1 -0
  168. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  169. package/dist/types/CallingClient/callingClientFixtures.d.ts +69 -1
  170. package/dist/types/CallingClient/callingClientFixtures.d.ts.map +1 -1
  171. package/dist/types/CallingClient/constants.d.ts +7 -3
  172. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  173. package/dist/types/CallingClient/line/index.d.ts +6 -6
  174. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  175. package/dist/types/CallingClient/line/types.d.ts +5 -17
  176. package/dist/types/CallingClient/line/types.d.ts.map +1 -1
  177. package/dist/types/CallingClient/registration/register.d.ts +3 -3
  178. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  179. package/dist/types/CallingClient/registration/types.d.ts +3 -3
  180. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  181. package/dist/types/Contacts/ContactsClient.d.ts +1 -1
  182. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +4 -4
  183. package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -1
  184. package/dist/types/Errors/catalog/LineError.d.ts +4 -4
  185. package/dist/types/Errors/catalog/LineError.d.ts.map +1 -1
  186. package/dist/types/Errors/index.d.ts +1 -0
  187. package/dist/types/Errors/index.d.ts.map +1 -1
  188. package/dist/types/Errors/types.d.ts +2 -3
  189. package/dist/types/Errors/types.d.ts.map +1 -1
  190. package/dist/types/Events/types.d.ts +28 -5
  191. package/dist/types/Events/types.d.ts.map +1 -1
  192. package/dist/types/SDKConnector/types.d.ts +2 -1
  193. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  194. package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
  195. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
  196. package/dist/types/api.d.ts.map +1 -1
  197. package/dist/types/common/Utils.d.ts.map +1 -1
  198. package/dist/types/common/testUtil.d.ts +1 -0
  199. package/dist/types/common/testUtil.d.ts.map +1 -1
  200. package/dist/types/common/types.d.ts +3 -2
  201. package/dist/types/common/types.d.ts.map +1 -1
  202. package/dist/types/index.d.ts +13 -0
  203. package/dist/types/index.d.ts.map +1 -1
  204. package/package.json +3 -3
@@ -31,7 +31,7 @@ var _UcmBackendConnector = require("./UcmBackendConnector");
31
31
  * const callSettings = createCallSettingsClient(webex, logger);
32
32
  * ```
33
33
  */
34
- var CallSettings = /*#__PURE__*/function () {
34
+ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
35
35
  /**
36
36
  * @ignore
37
37
  */
@@ -79,7 +79,7 @@ var CallSettings = /*#__PURE__*/function () {
79
79
  */
80
80
  }, {
81
81
  key: "getCallWaitingSetting",
82
- value: function () {
82
+ value: (function () {
83
83
  var _getCallWaitingSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
84
84
  return _regenerator.default.wrap(function _callee$(_context) {
85
85
  while (1) switch (_context.prev = _context.next) {
@@ -99,9 +99,10 @@ var CallSettings = /*#__PURE__*/function () {
99
99
  /**
100
100
  * Reads DND setting in Webex.
101
101
  */
102
+ )
102
103
  }, {
103
104
  key: "getDoNotDisturbSetting",
104
- value: function () {
105
+ value: (function () {
105
106
  var _getDoNotDisturbSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
106
107
  return _regenerator.default.wrap(function _callee2$(_context2) {
107
108
  while (1) switch (_context2.prev = _context2.next) {
@@ -122,9 +123,10 @@ var CallSettings = /*#__PURE__*/function () {
122
123
  * Updates DND setting in Webex.
123
124
  * @param enabled - true to enable DND, false to disable DND.
124
125
  */
126
+ )
125
127
  }, {
126
128
  key: "setDoNotDisturbSetting",
127
- value: function () {
129
+ value: (function () {
128
130
  var _setDoNotDisturbSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(enabled) {
129
131
  return _regenerator.default.wrap(function _callee3$(_context3) {
130
132
  while (1) switch (_context3.prev = _context3.next) {
@@ -145,9 +147,10 @@ var CallSettings = /*#__PURE__*/function () {
145
147
  * Reads Call Forward setting in Webex.
146
148
  *
147
149
  */
150
+ )
148
151
  }, {
149
152
  key: "getCallForwardSetting",
150
- value: function () {
153
+ value: (function () {
151
154
  var _getCallForwardSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
152
155
  return _regenerator.default.wrap(function _callee4$(_context4) {
153
156
  while (1) switch (_context4.prev = _context4.next) {
@@ -168,9 +171,10 @@ var CallSettings = /*#__PURE__*/function () {
168
171
  * Updates Call Forward setting in Webex.
169
172
  * @param callForwardingRequest - CallForwardSetting object.
170
173
  */
174
+ )
171
175
  }, {
172
176
  key: "setCallForwardSetting",
173
- value: function () {
177
+ value: (function () {
174
178
  var _setCallForwardSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(callForwardingRequest) {
175
179
  return _regenerator.default.wrap(function _callee5$(_context5) {
176
180
  while (1) switch (_context5.prev = _context5.next) {
@@ -190,9 +194,10 @@ var CallSettings = /*#__PURE__*/function () {
190
194
  /**
191
195
  * Reads Voicemail setting in Webex.
192
196
  */
197
+ )
193
198
  }, {
194
199
  key: "getVoicemailSetting",
195
- value: function () {
200
+ value: (function () {
196
201
  var _getVoicemailSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
197
202
  return _regenerator.default.wrap(function _callee6$(_context6) {
198
203
  while (1) switch (_context6.prev = _context6.next) {
@@ -213,9 +218,10 @@ var CallSettings = /*#__PURE__*/function () {
213
218
  * Updates Voicemail setting in Webex.
214
219
  * @param voicemailRequest - VoicemailSetting object.
215
220
  */
221
+ )
216
222
  }, {
217
223
  key: "setVoicemailSetting",
218
- value: function () {
224
+ value: (function () {
219
225
  var _setVoicemailSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(voicemailRequest) {
220
226
  return _regenerator.default.wrap(function _callee7$(_context7) {
221
227
  while (1) switch (_context7.prev = _context7.next) {
@@ -238,9 +244,10 @@ var CallSettings = /*#__PURE__*/function () {
238
244
  * If CFA is set to destination, that will take precedence.
239
245
  * @param directoryNumber - Directory number of the user.
240
246
  */
247
+ )
241
248
  }, {
242
249
  key: "getCallForwardAlwaysSetting",
243
- value: function () {
250
+ value: (function () {
244
251
  var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(directoryNumber) {
245
252
  return _regenerator.default.wrap(function _callee8$(_context8) {
246
253
  while (1) switch (_context8.prev = _context8.next) {
@@ -256,7 +263,7 @@ var CallSettings = /*#__PURE__*/function () {
256
263
  return _getCallForwardAlwaysSetting.apply(this, arguments);
257
264
  }
258
265
  return getCallForwardAlwaysSetting;
259
- }()
266
+ }())
260
267
  }]);
261
268
  return CallSettings;
262
269
  }();
@@ -266,9 +273,7 @@ var CallSettings = /*#__PURE__*/function () {
266
273
  * @param {WebexSDK} webex - An instance of the Webex SDK.
267
274
  * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.
268
275
  */
269
- exports.CallSettings = CallSettings;
270
- var createCallSettingsClient = function createCallSettingsClient(webex, logger, useProdWebexApis) {
276
+ var createCallSettingsClient = exports.createCallSettingsClient = function createCallSettingsClient(webex, logger, useProdWebexApis) {
271
277
  return new CallSettings(webex, logger, useProdWebexApis);
272
278
  };
273
- exports.createCallSettingsClient = createCallSettingsClient;
274
279
  //# sourceMappingURL=CallSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Utils","require","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants","_UcmBackendConnector","CallSettings","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","file","method","name","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_callee2$","_context2","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_callee3$","_context3","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_callee4$","_context4","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_callee6$","_context6","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_callee8$","_context8","getCallForwardAlwaysSetting","_x4","exports","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`Initializing Connector for ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: this.initializeBackendConnector.name,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_Utils","require","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants","_UcmBackendConnector","CallSettings","exports","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","file","method","name","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_callee2$","_context2","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_callee3$","_context3","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_callee4$","_context4","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_callee6$","_context6","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_callee8$","_context8","getCallForwardAlwaysSetting","_x4","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`Initializing Connector for ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: this.initializeBackendConnector.name,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":"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"}
@@ -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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"}
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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"}
@@ -12,17 +12,17 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
- var _constants = require("../common/constants");
16
- var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
17
15
  var _Logger = _interopRequireDefault(require("../Logger"));
16
+ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
17
+ var _Utils = require("../common/Utils");
18
+ var _constants = require("../common/constants");
18
19
  var _types = require("../common/types");
19
20
  var _constants2 = require("./constants");
20
- var _Utils = require("../common/Utils");
21
21
  /**
22
22
  * This Connector class will implement child interface of ICallSettings and
23
23
  * has methods for the CCUC with UCM backend.
24
24
  */
25
- var UcmBackendConnector = /*#__PURE__*/function () {
25
+ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function () {
26
26
  /**
27
27
  * @param useProdWebexApis - default value is true
28
28
  */
@@ -133,7 +133,7 @@ var UcmBackendConnector = /*#__PURE__*/function () {
133
133
  */
134
134
  }, {
135
135
  key: "getCallForwardAlwaysSetting",
136
- value: function () {
136
+ value: (function () {
137
137
  var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(directoryNumber) {
138
138
  var loggerContext, webexApisUrl, resp, _ref, callForwarding, cfa, _response, _response2, response, errorInfo, errorStatus;
139
139
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -158,7 +158,7 @@ var UcmBackendConnector = /*#__PURE__*/function () {
158
158
  resp = _context.sent;
159
159
  _ref = resp.body, callForwarding = _ref.callForwarding;
160
160
  cfa = callForwarding.always.find(function (item) {
161
- return item.dn.endsWith(directoryNumber);
161
+ return item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber);
162
162
  });
163
163
  if (!cfa) {
164
164
  _context.next = 12;
@@ -209,9 +209,8 @@ var UcmBackendConnector = /*#__PURE__*/function () {
209
209
  return _getCallForwardAlwaysSetting.apply(this, arguments);
210
210
  }
211
211
  return getCallForwardAlwaysSetting;
212
- }()
212
+ }())
213
213
  }]);
214
214
  return UcmBackendConnector;
215
215
  }();
216
- exports.UcmBackendConnector = UcmBackendConnector;
217
216
  //# sourceMappingURL=UcmBackendConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_SDKConnector","_interopRequireDefault","_Logger","_types","_constants2","_Utils","UcmBackendConnector","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","getMethodNotSupportedResponse","getDoNotDisturbSetting","setDoNotDisturbSetting","getCallForwardSetting","setCallForwardSetting","getVoicemailSetting","setVoicemailSetting","response","serviceErrorCodeHandler","statusCode","file","method","name","_promise","resolve","_getCallForwardAlwaysSetting","_asyncToGenerator2","_regenerator","mark","_callee","directoryNumber","loggerContext","webexApisUrl","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","getCallForwardAlwaysSetting","WEBEX_APIS_PROD_URL","WEBEX_APIS_INT_URL","request","uri","concat","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","HTTP_METHODS","GET","sent","body","always","find","item","dn","endsWith","Number","STATUS_CODE","message","SUCCESS_MESSAGE","data","callSetting","enabled","destinationVoicemailEnabled","destination","VOICEMAIL","abrupt","FAILURE_MESSAGE","error","t0","stop","_x","apply","exports"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["import {\n FAILURE_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n VOICEMAIL,\n} from '../common/constants';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n CallSettingResponse,\n CallForwardAlwaysSetting,\n IUcmBackendConnector,\n CallForwardingSettingsUCM,\n} from './types';\nimport log from '../Logger';\nimport {WebexRequestPayload, HTTP_METHODS} from '../common/types';\nimport {\n CF_ENDPOINT,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n WEBEX_APIS_INT_URL,\n WEBEX_APIS_PROD_URL,\n} from './constants';\nimport {serviceErrorCodeHandler} from '../common/Utils';\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 return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public setDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public setCallForwardSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public setVoicemailSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Returns a default error response for unsupported methods.\n */\n private getMethodNotSupportedResponse(): Promise<CallSettingResponse> {\n const response = serviceErrorCodeHandler(\n {statusCode: 501},\n {file: UCM_CONNECTOR_FILE, method: this.getMethodNotSupportedResponse.name}\n );\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: this.getCallForwardAlwaysSetting.name,\n };\n\n const webexApisUrl = this.useProdWebexApis ? WEBEX_APIS_PROD_URL : WEBEX_APIS_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 const {callForwarding} = resp.body as CallForwardingSettingsUCM;\n const cfa = callForwarding.always.find((item) => item.dn.endsWith(directoryNumber));\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 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 const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n}\n"],"mappings":"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"}
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","getMethodNotSupportedResponse","getDoNotDisturbSetting","setDoNotDisturbSetting","getCallForwardSetting","setCallForwardSetting","getVoicemailSetting","setVoicemailSetting","response","serviceErrorCodeHandler","statusCode","file","method","name","_promise","resolve","_getCallForwardAlwaysSetting","_asyncToGenerator2","_regenerator","mark","_callee","directoryNumber","loggerContext","webexApisUrl","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","getCallForwardAlwaysSetting","WEBEX_APIS_PROD_URL","WEBEX_APIS_INT_URL","request","uri","concat","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","stop","_x","apply"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["import log from '../Logger';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {serviceErrorCodeHandler} from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n VOICEMAIL,\n} from '../common/constants';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {\n CF_ENDPOINT,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n WEBEX_APIS_INT_URL,\n WEBEX_APIS_PROD_URL,\n} 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 return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public setDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public setCallForwardSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public setVoicemailSetting(): Promise<CallSettingResponse> {\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Returns a default error response for unsupported methods.\n */\n private getMethodNotSupportedResponse(): Promise<CallSettingResponse> {\n const response = serviceErrorCodeHandler(\n {statusCode: 501},\n {file: UCM_CONNECTOR_FILE, method: this.getMethodNotSupportedResponse.name}\n );\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: this.getCallForwardAlwaysSetting.name,\n };\n\n const webexApisUrl = this.useProdWebexApis ? WEBEX_APIS_PROD_URL : WEBEX_APIS_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 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 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 const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n}\n"],"mappings":"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"}
@@ -7,15 +7,15 @@ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/o
7
7
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
10
- var _testUtil = require("../common/testUtil");
11
10
  var _types = require("../Logger/types");
12
- var _types2 = require("../common/types");
13
- var _constants = require("../common/constants");
14
- var _constants2 = require("./constants");
15
11
  var utils = _interopRequireWildcard(require("../common/Utils"));
12
+ var _constants = require("../common/constants");
13
+ var _testUtil = require("../common/testUtil");
14
+ var _types2 = require("../common/types");
16
15
  var _UcmBackendConnector = require("./UcmBackendConnector");
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ var _constants2 = require("./constants");
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  describe('Call Settings Client Tests for UcmBackendConnector', function () {
20
20
  var webex = (0, _testUtil.getTestUtilsWebex)();
21
21
  var userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';
@@ -27,13 +27,21 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
27
27
  always: [{
28
28
  dn: '8001',
29
29
  destination: '8004',
30
- destinationVoicemailEnabled: false
30
+ destinationVoicemailEnabled: false,
31
+ e164Number: '+14922999903'
31
32
  }, {
32
33
  dn: '8002',
33
- destinationVoicemailEnabled: true
34
+ destinationVoicemailEnabled: true,
35
+ e164Number: ''
34
36
  }, {
35
37
  dn: '8003',
36
- destinationVoicemailEnabled: false
38
+ destinationVoicemailEnabled: false,
39
+ e164Number: ''
40
+ }, {
41
+ dn: '8000',
42
+ destination: '8007',
43
+ destinationVoicemailEnabled: false,
44
+ e164Number: '8006'
37
45
  }]
38
46
  }
39
47
  };
@@ -122,10 +130,34 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
122
130
  }
123
131
  }, _callee3);
124
132
  })));
125
- it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
126
- var responsePayload, serviceErrorCodeHandlerSpy, response;
133
+ 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() {
134
+ var response, callForwardSetting;
127
135
  return _regenerator.default.wrap(function _callee4$(_context4) {
128
136
  while (1) switch (_context4.prev = _context4.next) {
137
+ case 0:
138
+ _context4.next = 2;
139
+ return callSettingsClient.getCallForwardAlwaysSetting('8006');
140
+ case 2:
141
+ response = _context4.sent;
142
+ callForwardSetting = response.data.callSetting;
143
+ expect(response.statusCode).toEqual(200);
144
+ expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
145
+ expect(callForwardSetting.enabled).toEqual(true);
146
+ expect(callForwardSetting.destination).toEqual('8007');
147
+ expect(webex.request).toBeCalledOnceWith({
148
+ method: _types2.HTTP_METHODS.GET,
149
+ uri: callForwardingUri
150
+ });
151
+ case 9:
152
+ case "end":
153
+ return _context4.stop();
154
+ }
155
+ }, _callee4);
156
+ })));
157
+ it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
158
+ var responsePayload, serviceErrorCodeHandlerSpy, response;
159
+ return _regenerator.default.wrap(function _callee5$(_context5) {
160
+ while (1) switch (_context5.prev = _context5.next) {
129
161
  case 0:
130
162
  responsePayload = {
131
163
  statusCode: 503
@@ -133,10 +165,10 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
133
165
  webex.request.mockClear();
134
166
  webex.request.mockRejectedValue(responsePayload);
135
167
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
136
- _context4.next = 6;
168
+ _context5.next = 6;
137
169
  return callSettingsClient.getCallForwardAlwaysSetting('8002');
138
170
  case 6:
139
- response = _context4.sent;
171
+ response = _context5.sent;
140
172
  expect(response.statusCode).toEqual(503);
141
173
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
142
174
  expect(response.data.error).toEqual('Unable to establish a connection with the server');
@@ -150,19 +182,19 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
150
182
  });
151
183
  case 12:
152
184
  case "end":
153
- return _context4.stop();
185
+ return _context5.stop();
154
186
  }
155
- }, _callee4);
187
+ }, _callee5);
156
188
  })));
157
- it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
189
+ it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
158
190
  var response;
159
- return _regenerator.default.wrap(function _callee5$(_context5) {
160
- while (1) switch (_context5.prev = _context5.next) {
191
+ return _regenerator.default.wrap(function _callee6$(_context6) {
192
+ while (1) switch (_context6.prev = _context6.next) {
161
193
  case 0:
162
- _context5.next = 2;
194
+ _context6.next = 2;
163
195
  return callSettingsClient.getCallForwardAlwaysSetting('8005');
164
196
  case 2:
165
- response = _context5.sent;
197
+ response = _context6.sent;
166
198
  expect(response.statusCode).toEqual(404);
167
199
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
168
200
  expect(response.data.error).toEqual('Directory Number is not assigned to the user');
@@ -172,53 +204,53 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
172
204
  });
173
205
  case 7:
174
206
  case "end":
175
- return _context5.stop();
207
+ return _context6.stop();
176
208
  }
177
- }, _callee5);
209
+ }, _callee6);
178
210
  })));
179
- it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
211
+ it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
180
212
  var response;
181
- return _regenerator.default.wrap(function _callee6$(_context6) {
182
- while (1) switch (_context6.prev = _context6.next) {
213
+ return _regenerator.default.wrap(function _callee7$(_context7) {
214
+ while (1) switch (_context7.prev = _context7.next) {
183
215
  case 0:
184
- _context6.next = 2;
216
+ _context7.next = 2;
185
217
  return callSettingsClient.getCallForwardAlwaysSetting();
186
218
  case 2:
187
- response = _context6.sent;
219
+ response = _context7.sent;
188
220
  expect(response.statusCode).toEqual(400);
189
221
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
190
222
  expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');
191
223
  expect(webex.request).not.toBeCalled();
192
224
  case 7:
193
225
  case "end":
194
- return _context6.stop();
226
+ return _context7.stop();
195
227
  }
196
- }, _callee6);
228
+ }, _callee7);
197
229
  })));
198
230
  describe('Unsupported methods return failure', function () {
199
231
  var unsupportedMethods = ['getCallWaitingSetting', 'getDoNotDisturbSetting', 'setDoNotDisturbSetting', 'getCallForwardSetting', 'setCallForwardSetting', 'getVoicemailSetting', 'setVoicemailSetting'];
200
232
  it.each(unsupportedMethods)('%s', /*#__PURE__*/function () {
201
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(methodName) {
233
+ var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(methodName) {
202
234
  var response;
203
- return _regenerator.default.wrap(function _callee7$(_context7) {
204
- while (1) switch (_context7.prev = _context7.next) {
235
+ return _regenerator.default.wrap(function _callee8$(_context8) {
236
+ while (1) switch (_context8.prev = _context8.next) {
205
237
  case 0:
206
- _context7.next = 2;
238
+ _context8.next = 2;
207
239
  return callSettingsClient[methodName]();
208
240
  case 2:
209
- response = _context7.sent;
241
+ response = _context8.sent;
210
242
  expect(response.statusCode).toEqual(501);
211
243
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
212
244
  expect(response.data.error).toEqual('Method is not implemented at the backend');
213
245
  expect(webex.request).not.toBeCalled();
214
246
  case 7:
215
247
  case "end":
216
- return _context7.stop();
248
+ return _context8.stop();
217
249
  }
218
- }, _callee7);
250
+ }, _callee8);
219
251
  }));
220
252
  return function (_x) {
221
- return _ref7.apply(this, arguments);
253
+ return _ref8.apply(this, arguments);
222
254
  };
223
255
  }());
224
256
  });