@webex/calling 3.0.0-next.2 → 3.0.0-next.4

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 (283) hide show
  1. package/CHANGELOG.md +1403 -0
  2. package/README.md +74 -74
  3. package/dist/module/CallHistory/CallHistory.js +81 -81
  4. package/dist/module/CallHistory/callHistoryFixtures.js +307 -307
  5. package/dist/module/CallHistory/constants.js +9 -9
  6. package/dist/module/CallHistory/types.js +1 -1
  7. package/dist/module/CallSettings/CallSettings.js +65 -65
  8. package/dist/module/CallSettings/UcmBackendConnector.js +100 -100
  9. package/dist/module/CallSettings/WxCallBackendConnector.js +287 -287
  10. package/dist/module/CallSettings/constants.js +11 -11
  11. package/dist/module/CallSettings/testFixtures.js +62 -62
  12. package/dist/module/CallSettings/types.js +1 -1
  13. package/dist/module/CallingClient/CallingClient.js +248 -248
  14. package/dist/module/CallingClient/callRecordFixtures.js +93 -93
  15. package/dist/module/CallingClient/calling/CallerId/index.js +169 -169
  16. package/dist/module/CallingClient/calling/CallerId/types.js +1 -1
  17. package/dist/module/CallingClient/calling/call.js +1658 -1658
  18. package/dist/module/CallingClient/calling/callManager.js +284 -284
  19. package/dist/module/CallingClient/calling/index.js +2 -2
  20. package/dist/module/CallingClient/calling/types.js +53 -53
  21. package/dist/module/CallingClient/callingClientFixtures.js +38 -38
  22. package/dist/module/CallingClient/constants.js +122 -122
  23. package/dist/module/CallingClient/line/index.js +158 -158
  24. package/dist/module/CallingClient/line/types.js +15 -15
  25. package/dist/module/CallingClient/registration/index.js +1 -1
  26. package/dist/module/CallingClient/registration/register.js +507 -507
  27. package/dist/module/CallingClient/registration/registerFixtures.js +28 -28
  28. package/dist/module/CallingClient/registration/types.js +1 -1
  29. package/dist/module/CallingClient/types.js +1 -1
  30. package/dist/module/Contacts/ContactsClient.js +484 -484
  31. package/dist/module/Contacts/constants.js +20 -20
  32. package/dist/module/Contacts/contactFixtures.js +284 -284
  33. package/dist/module/Contacts/types.js +10 -10
  34. package/dist/module/Errors/catalog/CallError.js +26 -26
  35. package/dist/module/Errors/catalog/CallingDeviceError.js +18 -18
  36. package/dist/module/Errors/catalog/ExtendedError.js +10 -10
  37. package/dist/module/Errors/catalog/LineError.js +24 -24
  38. package/dist/module/Errors/index.js +2 -2
  39. package/dist/module/Errors/types.js +48 -48
  40. package/dist/module/Events/impl/index.js +19 -19
  41. package/dist/module/Events/types.js +83 -83
  42. package/dist/module/Logger/index.js +114 -114
  43. package/dist/module/Logger/types.js +25 -25
  44. package/dist/module/Metrics/index.js +232 -232
  45. package/dist/module/Metrics/types.js +37 -37
  46. package/dist/module/SDKConnector/index.js +39 -39
  47. package/dist/module/SDKConnector/types.js +1 -1
  48. package/dist/module/SDKConnector/utils.js +12 -12
  49. package/dist/module/Voicemail/BroadworksBackendConnector.js +291 -291
  50. package/dist/module/Voicemail/UcmBackendConnector.js +279 -279
  51. package/dist/module/Voicemail/Voicemail.js +110 -110
  52. package/dist/module/Voicemail/WxCallBackendConnector.js +279 -279
  53. package/dist/module/Voicemail/constants.js +29 -29
  54. package/dist/module/Voicemail/types.js +1 -1
  55. package/dist/module/Voicemail/voicemailFixture.js +510 -510
  56. package/dist/module/api.js +6 -6
  57. package/dist/module/common/Utils.js +802 -802
  58. package/dist/module/common/constants.js +41 -41
  59. package/dist/module/common/index.js +1 -1
  60. package/dist/module/common/testUtil.js +938 -938
  61. package/dist/module/common/types.js +57 -57
  62. package/dist/module/index.js +8 -8
  63. package/dist/types/CallHistory/CallHistory.d.ts +17 -17
  64. package/dist/types/CallHistory/callHistoryFixtures.d.ts +94 -94
  65. package/dist/types/CallHistory/constants.d.ts +9 -9
  66. package/dist/types/CallHistory/types.d.ts +18 -18
  67. package/dist/types/CallSettings/CallSettings.d.ts +19 -19
  68. package/dist/types/CallSettings/UcmBackendConnector.d.ts +19 -19
  69. package/dist/types/CallSettings/WxCallBackendConnector.d.ts +21 -21
  70. package/dist/types/CallSettings/constants.d.ts +11 -11
  71. package/dist/types/CallSettings/testFixtures.d.ts +15 -15
  72. package/dist/types/CallSettings/types.d.ts +107 -107
  73. package/dist/types/CallingClient/CallingClient.d.ts +35 -35
  74. package/dist/types/CallingClient/callRecordFixtures.d.ts +3 -3
  75. package/dist/types/CallingClient/calling/CallerId/index.d.ts +17 -17
  76. package/dist/types/CallingClient/calling/CallerId/types.d.ts +41 -41
  77. package/dist/types/CallingClient/calling/call.d.ts +96 -96
  78. package/dist/types/CallingClient/calling/callManager.d.ts +25 -25
  79. package/dist/types/CallingClient/calling/index.d.ts +2 -2
  80. package/dist/types/CallingClient/calling/types.d.ts +206 -206
  81. package/dist/types/CallingClient/callingClientFixtures.d.ts +18 -18
  82. package/dist/types/CallingClient/constants.d.ts +122 -122
  83. package/dist/types/CallingClient/line/index.d.ts +43 -43
  84. package/dist/types/CallingClient/line/types.d.ts +55 -55
  85. package/dist/types/CallingClient/registration/index.d.ts +1 -1
  86. package/dist/types/CallingClient/registration/register.d.ts +64 -64
  87. package/dist/types/CallingClient/registration/registerFixtures.d.ts +28 -28
  88. package/dist/types/CallingClient/registration/types.d.ts +20 -20
  89. package/dist/types/CallingClient/types.d.ts +29 -29
  90. package/dist/types/Contacts/ContactsClient.d.ts +26 -26
  91. package/dist/types/Contacts/constants.d.ts +19 -19
  92. package/dist/types/Contacts/contactFixtures.d.ts +280 -280
  93. package/dist/types/Contacts/types.d.ts +72 -72
  94. package/dist/types/Errors/catalog/CallError.d.ts +11 -11
  95. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +10 -10
  96. package/dist/types/Errors/catalog/ExtendedError.d.ts +6 -6
  97. package/dist/types/Errors/catalog/LineError.d.ts +10 -10
  98. package/dist/types/Errors/index.d.ts +2 -2
  99. package/dist/types/Errors/types.d.ts +60 -60
  100. package/dist/types/Events/impl/index.d.ts +8 -8
  101. package/dist/types/Events/types.d.ts +288 -288
  102. package/dist/types/Logger/index.d.ts +12 -12
  103. package/dist/types/Logger/types.d.ts +25 -25
  104. package/dist/types/Metrics/index.d.ts +5 -5
  105. package/dist/types/Metrics/types.d.ts +42 -42
  106. package/dist/types/SDKConnector/index.d.ts +12 -12
  107. package/dist/types/SDKConnector/types.d.ts +128 -128
  108. package/dist/types/SDKConnector/utils.d.ts +5 -5
  109. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts +27 -27
  110. package/dist/types/Voicemail/UcmBackendConnector.d.ts +34 -34
  111. package/dist/types/Voicemail/Voicemail.d.ts +27 -27
  112. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +23 -23
  113. package/dist/types/Voicemail/constants.d.ts +29 -29
  114. package/dist/types/Voicemail/types.d.ts +133 -133
  115. package/dist/types/Voicemail/voicemailFixture.d.ts +417 -417
  116. package/dist/types/api.d.ts +16 -16
  117. package/dist/types/common/Utils.d.ts +34 -34
  118. package/dist/types/common/constants.d.ts +41 -41
  119. package/dist/types/common/index.d.ts +1 -1
  120. package/dist/types/common/testUtil.d.ts +3611 -3611
  121. package/dist/types/common/types.d.ts +191 -191
  122. package/dist/types/index.d.ts +8 -8
  123. package/package.json +4 -4
  124. package/dist/CallHistory/CallHistory.js +0 -203
  125. package/dist/CallHistory/CallHistory.js.map +0 -1
  126. package/dist/CallHistory/CallHistory.test.js +0 -133
  127. package/dist/CallHistory/CallHistory.test.js.map +0 -1
  128. package/dist/CallHistory/callHistoryFixtures.js +0 -310
  129. package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
  130. package/dist/CallHistory/constants.js +0 -26
  131. package/dist/CallHistory/constants.js.map +0 -1
  132. package/dist/CallHistory/types.js +0 -7
  133. package/dist/CallHistory/types.js.map +0 -1
  134. package/dist/CallSettings/CallSettings.js +0 -276
  135. package/dist/CallSettings/CallSettings.js.map +0 -1
  136. package/dist/CallSettings/CallSettings.test.js +0 -122
  137. package/dist/CallSettings/CallSettings.test.js.map +0 -1
  138. package/dist/CallSettings/UcmBackendConnector.js +0 -217
  139. package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
  140. package/dist/CallSettings/UcmBackendConnector.test.js +0 -227
  141. package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
  142. package/dist/CallSettings/WxCallBackendConnector.js +0 -541
  143. package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
  144. package/dist/CallSettings/WxCallBackendConnector.test.js +0 -802
  145. package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
  146. package/dist/CallSettings/constants.js +0 -30
  147. package/dist/CallSettings/constants.js.map +0 -1
  148. package/dist/CallSettings/testFixtures.js +0 -72
  149. package/dist/CallSettings/testFixtures.js.map +0 -1
  150. package/dist/CallSettings/types.js +0 -7
  151. package/dist/CallSettings/types.js.map +0 -1
  152. package/dist/CallingClient/CallingClient.js +0 -572
  153. package/dist/CallingClient/CallingClient.js.map +0 -1
  154. package/dist/CallingClient/CallingClient.test.js +0 -931
  155. package/dist/CallingClient/CallingClient.test.js.map +0 -1
  156. package/dist/CallingClient/callRecordFixtures.js +0 -103
  157. package/dist/CallingClient/callRecordFixtures.js.map +0 -1
  158. package/dist/CallingClient/calling/CallerId/index.js +0 -287
  159. package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
  160. package/dist/CallingClient/calling/CallerId/index.test.js +0 -274
  161. package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
  162. package/dist/CallingClient/calling/CallerId/types.js +0 -7
  163. package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
  164. package/dist/CallingClient/calling/call.js +0 -2995
  165. package/dist/CallingClient/calling/call.js.map +0 -1
  166. package/dist/CallingClient/calling/call.test.js +0 -2614
  167. package/dist/CallingClient/calling/call.test.js.map +0 -1
  168. package/dist/CallingClient/calling/callManager.js +0 -443
  169. package/dist/CallingClient/calling/callManager.js.map +0 -1
  170. package/dist/CallingClient/calling/callManager.test.js +0 -683
  171. package/dist/CallingClient/calling/callManager.test.js.map +0 -1
  172. package/dist/CallingClient/calling/index.js +0 -30
  173. package/dist/CallingClient/calling/index.js.map +0 -1
  174. package/dist/CallingClient/calling/types.js +0 -71
  175. package/dist/CallingClient/calling/types.js.map +0 -1
  176. package/dist/CallingClient/callingClientFixtures.js +0 -53
  177. package/dist/CallingClient/callingClientFixtures.js.map +0 -1
  178. package/dist/CallingClient/constants.js +0 -226
  179. package/dist/CallingClient/constants.js.map +0 -1
  180. package/dist/CallingClient/line/index.js +0 -312
  181. package/dist/CallingClient/line/index.js.map +0 -1
  182. package/dist/CallingClient/line/line.test.js +0 -270
  183. package/dist/CallingClient/line/line.test.js.map +0 -1
  184. package/dist/CallingClient/line/types.js +0 -25
  185. package/dist/CallingClient/line/types.js.map +0 -1
  186. package/dist/CallingClient/registration/index.js +0 -19
  187. package/dist/CallingClient/registration/index.js.map +0 -1
  188. package/dist/CallingClient/registration/register.js +0 -1295
  189. package/dist/CallingClient/registration/register.js.map +0 -1
  190. package/dist/CallingClient/registration/register.test.js +0 -838
  191. package/dist/CallingClient/registration/register.test.js.map +0 -1
  192. package/dist/CallingClient/registration/registerFixtures.js +0 -41
  193. package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
  194. package/dist/CallingClient/registration/types.js +0 -7
  195. package/dist/CallingClient/registration/types.js.map +0 -1
  196. package/dist/CallingClient/types.js +0 -7
  197. package/dist/CallingClient/types.js.map +0 -1
  198. package/dist/Contacts/ContactsClient.js +0 -1139
  199. package/dist/Contacts/ContactsClient.js.map +0 -1
  200. package/dist/Contacts/ContactsClient.test.js +0 -725
  201. package/dist/Contacts/ContactsClient.test.js.map +0 -1
  202. package/dist/Contacts/constants.js +0 -36
  203. package/dist/Contacts/constants.js.map +0 -1
  204. package/dist/Contacts/contactFixtures.js +0 -340
  205. package/dist/Contacts/contactFixtures.js.map +0 -1
  206. package/dist/Contacts/types.js +0 -20
  207. package/dist/Contacts/types.js.map +0 -1
  208. package/dist/Errors/catalog/CallError.js +0 -94
  209. package/dist/Errors/catalog/CallError.js.map +0 -1
  210. package/dist/Errors/catalog/CallingDeviceError.js +0 -88
  211. package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
  212. package/dist/Errors/catalog/ExtendedError.js +0 -45
  213. package/dist/Errors/catalog/ExtendedError.js.map +0 -1
  214. package/dist/Errors/catalog/LineError.js +0 -90
  215. package/dist/Errors/catalog/LineError.js.map +0 -1
  216. package/dist/Errors/index.js +0 -21
  217. package/dist/Errors/index.js.map +0 -1
  218. package/dist/Errors/types.js +0 -62
  219. package/dist/Errors/types.js.map +0 -1
  220. package/dist/Events/impl/index.js +0 -82
  221. package/dist/Events/impl/index.js.map +0 -1
  222. package/dist/Events/types.js +0 -111
  223. package/dist/Events/types.js.map +0 -1
  224. package/dist/Logger/index.js +0 -221
  225. package/dist/Logger/index.js.map +0 -1
  226. package/dist/Logger/index.test.js +0 -62
  227. package/dist/Logger/index.test.js.map +0 -1
  228. package/dist/Logger/types.js +0 -37
  229. package/dist/Logger/types.js.map +0 -1
  230. package/dist/Metrics/index.js +0 -329
  231. package/dist/Metrics/index.js.map +0 -1
  232. package/dist/Metrics/index.test.js +0 -291
  233. package/dist/Metrics/index.test.js.map +0 -1
  234. package/dist/Metrics/types.js +0 -50
  235. package/dist/Metrics/types.js.map +0 -1
  236. package/dist/SDKConnector/index.js +0 -105
  237. package/dist/SDKConnector/index.js.map +0 -1
  238. package/dist/SDKConnector/index.test.js +0 -9
  239. package/dist/SDKConnector/index.test.js.map +0 -1
  240. package/dist/SDKConnector/types.js +0 -7
  241. package/dist/SDKConnector/types.js.map +0 -1
  242. package/dist/SDKConnector/utils.js +0 -40
  243. package/dist/SDKConnector/utils.js.map +0 -1
  244. package/dist/SDKConnector/utils.test.js +0 -9
  245. package/dist/SDKConnector/utils.test.js.map +0 -1
  246. package/dist/Voicemail/BroadworksBackendConnector.js +0 -632
  247. package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
  248. package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -733
  249. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
  250. package/dist/Voicemail/UcmBackendConnector.js +0 -566
  251. package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
  252. package/dist/Voicemail/UcmBackendConnector.test.js +0 -628
  253. package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
  254. package/dist/Voicemail/Voicemail.js +0 -378
  255. package/dist/Voicemail/Voicemail.js.map +0 -1
  256. package/dist/Voicemail/Voicemail.test.js +0 -226
  257. package/dist/Voicemail/Voicemail.test.js.map +0 -1
  258. package/dist/Voicemail/WxCallBackendConnector.js +0 -540
  259. package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
  260. package/dist/Voicemail/WxCallBackendConnector.test.js +0 -942
  261. package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
  262. package/dist/Voicemail/constants.js +0 -66
  263. package/dist/Voicemail/constants.js.map +0 -1
  264. package/dist/Voicemail/types.js +0 -7
  265. package/dist/Voicemail/types.js.map +0 -1
  266. package/dist/Voicemail/voicemailFixture.js +0 -559
  267. package/dist/Voicemail/voicemailFixture.js.map +0 -1
  268. package/dist/api.js +0 -134
  269. package/dist/api.js.map +0 -1
  270. package/dist/common/Utils.js +0 -1264
  271. package/dist/common/Utils.js.map +0 -1
  272. package/dist/common/Utils.test.js +0 -1227
  273. package/dist/common/Utils.test.js.map +0 -1
  274. package/dist/common/constants.js +0 -90
  275. package/dist/common/constants.js.map +0 -1
  276. package/dist/common/index.js +0 -19
  277. package/dist/common/index.js.map +0 -1
  278. package/dist/common/testUtil.js +0 -968
  279. package/dist/common/testUtil.js.map +0 -1
  280. package/dist/common/types.js +0 -75
  281. package/dist/common/types.js.map +0 -1
  282. package/dist/index.js +0 -63
  283. package/dist/index.js.map +0 -1
@@ -1 +0,0 @@
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,227 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
- var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
5
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
10
- var _testUtil = require("../common/testUtil");
11
- var _types = require("../Logger/types");
12
- var _types2 = require("../common/types");
13
- var _constants = require("../common/constants");
14
- var _constants2 = require("./constants");
15
- var utils = _interopRequireWildcard(require("../common/Utils"));
16
- 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; }
19
- describe('Call Settings Client Tests for UcmBackendConnector', function () {
20
- var webex = (0, _testUtil.getTestUtilsWebex)();
21
- var userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';
22
- var orgId = '1704d30d-a131-4bc7-9449-948487643793';
23
- describe('Call Forward Always test', function () {
24
- var callSettingsClient;
25
- var callForwardPayload = {
26
- callForwarding: {
27
- always: [{
28
- dn: '8001',
29
- destination: '8004',
30
- destinationVoicemailEnabled: false
31
- }, {
32
- dn: '8002',
33
- destinationVoicemailEnabled: true
34
- }, {
35
- dn: '8003',
36
- destinationVoicemailEnabled: false
37
- }]
38
- }
39
- };
40
- var callForwardingUri = "".concat(_constants2.WEBEX_APIS_INT_URL, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(userId, "/").concat(_constants2.CF_ENDPOINT.toLowerCase(), "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
41
- beforeAll(function () {
42
- callSettingsClient = new _UcmBackendConnector.UcmBackendConnector(webex, {
43
- level: _types.LOGGER.INFO
44
- }, false);
45
- });
46
- beforeEach(function () {
47
- var responsePayload = {
48
- statusCode: 200,
49
- body: callForwardPayload
50
- };
51
- webex.request.mockResolvedValue(responsePayload);
52
- });
53
- it('Success: Get Call Forward Always setting when set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
54
- var response, callForwardSetting;
55
- return _regenerator.default.wrap(function _callee$(_context) {
56
- while (1) switch (_context.prev = _context.next) {
57
- case 0:
58
- _context.next = 2;
59
- return callSettingsClient.getCallForwardAlwaysSetting('8001');
60
- case 2:
61
- response = _context.sent;
62
- callForwardSetting = response.data.callSetting;
63
- expect(response.statusCode).toEqual(200);
64
- expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
65
- expect(callForwardSetting.enabled).toEqual(true);
66
- expect(callForwardSetting.destination).toEqual('8004');
67
- expect(webex.request).toBeCalledOnceWith({
68
- method: _types2.HTTP_METHODS.GET,
69
- uri: callForwardingUri
70
- });
71
- case 9:
72
- case "end":
73
- return _context.stop();
74
- }
75
- }, _callee);
76
- })));
77
- it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
78
- var response, callForwardSetting;
79
- return _regenerator.default.wrap(function _callee2$(_context2) {
80
- while (1) switch (_context2.prev = _context2.next) {
81
- case 0:
82
- _context2.next = 2;
83
- return callSettingsClient.getCallForwardAlwaysSetting('8002');
84
- case 2:
85
- response = _context2.sent;
86
- callForwardSetting = response.data.callSetting;
87
- expect(response.statusCode).toEqual(200);
88
- expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
89
- expect(callForwardSetting.enabled).toEqual(true);
90
- expect(callForwardSetting.destination).toEqual('VOICEMAIL');
91
- expect(webex.request).toBeCalledOnceWith({
92
- method: _types2.HTTP_METHODS.GET,
93
- uri: callForwardingUri
94
- });
95
- case 9:
96
- case "end":
97
- return _context2.stop();
98
- }
99
- }, _callee2);
100
- })));
101
- it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
102
- var response, callForwardSetting;
103
- return _regenerator.default.wrap(function _callee3$(_context3) {
104
- while (1) switch (_context3.prev = _context3.next) {
105
- case 0:
106
- _context3.next = 2;
107
- return callSettingsClient.getCallForwardAlwaysSetting('8003');
108
- case 2:
109
- response = _context3.sent;
110
- callForwardSetting = response.data.callSetting;
111
- expect(response.statusCode).toEqual(200);
112
- expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
113
- expect(callForwardSetting.enabled).toEqual(false);
114
- expect(callForwardSetting.destination).toBeFalsy();
115
- expect(webex.request).toBeCalledOnceWith({
116
- method: _types2.HTTP_METHODS.GET,
117
- uri: callForwardingUri
118
- });
119
- case 9:
120
- case "end":
121
- return _context3.stop();
122
- }
123
- }, _callee3);
124
- })));
125
- it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
126
- var responsePayload, serviceErrorCodeHandlerSpy, response;
127
- return _regenerator.default.wrap(function _callee4$(_context4) {
128
- while (1) switch (_context4.prev = _context4.next) {
129
- case 0:
130
- responsePayload = {
131
- statusCode: 503
132
- };
133
- webex.request.mockClear();
134
- webex.request.mockRejectedValue(responsePayload);
135
- serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
136
- _context4.next = 6;
137
- return callSettingsClient.getCallForwardAlwaysSetting('8002');
138
- case 6:
139
- response = _context4.sent;
140
- expect(response.statusCode).toEqual(503);
141
- expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
142
- expect(response.data.error).toEqual('Unable to establish a connection with the server');
143
- expect(webex.request).toBeCalledOnceWith({
144
- method: _types2.HTTP_METHODS.GET,
145
- uri: callForwardingUri
146
- });
147
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(responsePayload, {
148
- file: _constants.UCM_CONNECTOR_FILE,
149
- method: callSettingsClient.getCallForwardAlwaysSetting.name
150
- });
151
- case 12:
152
- case "end":
153
- return _context4.stop();
154
- }
155
- }, _callee4);
156
- })));
157
- it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
158
- var response;
159
- return _regenerator.default.wrap(function _callee5$(_context5) {
160
- while (1) switch (_context5.prev = _context5.next) {
161
- case 0:
162
- _context5.next = 2;
163
- return callSettingsClient.getCallForwardAlwaysSetting('8005');
164
- case 2:
165
- response = _context5.sent;
166
- expect(response.statusCode).toEqual(404);
167
- expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
168
- expect(response.data.error).toEqual('Directory Number is not assigned to the user');
169
- expect(webex.request).toBeCalledOnceWith({
170
- method: _types2.HTTP_METHODS.GET,
171
- uri: callForwardingUri
172
- });
173
- case 7:
174
- case "end":
175
- return _context5.stop();
176
- }
177
- }, _callee5);
178
- })));
179
- it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
180
- var response;
181
- return _regenerator.default.wrap(function _callee6$(_context6) {
182
- while (1) switch (_context6.prev = _context6.next) {
183
- case 0:
184
- _context6.next = 2;
185
- return callSettingsClient.getCallForwardAlwaysSetting();
186
- case 2:
187
- response = _context6.sent;
188
- expect(response.statusCode).toEqual(400);
189
- expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
190
- expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');
191
- expect(webex.request).not.toBeCalled();
192
- case 7:
193
- case "end":
194
- return _context6.stop();
195
- }
196
- }, _callee6);
197
- })));
198
- describe('Unsupported methods return failure', function () {
199
- var unsupportedMethods = ['getCallWaitingSetting', 'getDoNotDisturbSetting', 'setDoNotDisturbSetting', 'getCallForwardSetting', 'setCallForwardSetting', 'getVoicemailSetting', 'setVoicemailSetting'];
200
- it.each(unsupportedMethods)('%s', /*#__PURE__*/function () {
201
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(methodName) {
202
- var response;
203
- return _regenerator.default.wrap(function _callee7$(_context7) {
204
- while (1) switch (_context7.prev = _context7.next) {
205
- case 0:
206
- _context7.next = 2;
207
- return callSettingsClient[methodName]();
208
- case 2:
209
- response = _context7.sent;
210
- expect(response.statusCode).toEqual(501);
211
- expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
212
- expect(response.data.error).toEqual('Method is not implemented at the backend');
213
- expect(webex.request).not.toBeCalled();
214
- case 7:
215
- case "end":
216
- return _context7.stop();
217
- }
218
- }, _callee7);
219
- }));
220
- return function (_x) {
221
- return _ref7.apply(this, arguments);
222
- };
223
- }());
224
- });
225
- });
226
- });
227
- //# sourceMappingURL=UcmBackendConnector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_testUtil","require","_types","_types2","_constants","_constants2","utils","_interopRequireWildcard","_UcmBackendConnector","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","describe","webex","getTestUtilsWebex","userId","orgId","callSettingsClient","callForwardPayload","callForwarding","always","dn","destination","destinationVoicemailEnabled","callForwardingUri","concat","WEBEX_APIS_INT_URL","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","beforeAll","UcmBackendConnector","level","LOGGER","INFO","beforeEach","responsePayload","statusCode","body","request","mockResolvedValue","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","stop","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","toBeFalsy","_callee4","serviceErrorCodeHandlerSpy","_callee4$","_context4","mockClear","mockRejectedValue","jest","spyOn","FAILURE_MESSAGE","error","file","UCM_CONNECTOR_FILE","name","_callee5","_callee5$","_context5","_callee6","_callee6$","_context6","not","toBeCalled","unsupportedMethods","each","_ref7","_callee7","methodName","_callee7$","_context7","_x","apply","arguments"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {IUcmBackendConnector, CallForwardAlwaysSetting, CallForwardingSettingsUCM} from './types';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {FAILURE_MESSAGE, SUCCESS_MESSAGE, UCM_CONNECTOR_FILE} from '../common/constants';\nimport {CF_ENDPOINT, ORG_ENDPOINT, PEOPLE_ENDPOINT, WEBEX_APIS_INT_URL} from './constants';\nimport * as utils from '../common/Utils';\nimport {UcmBackendConnector} from './UcmBackendConnector';\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 },\n {\n dn: '8002',\n destinationVoicemailEnabled: true,\n },\n {\n dn: '8003',\n destinationVoicemailEnabled: false,\n },\n ],\n },\n };\n\n const callForwardingUri = `${WEBEX_APIS_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\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\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\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\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\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\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\n describe('Unsupported methods return failure', () => {\n const unsupportedMethods: string[] = [\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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"}