@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,540 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.WxCallBackendConnector = void 0;
9
- var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
10
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
11
- var _isArray = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
15
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
17
- var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
18
- var _constants = require("../common/constants");
19
- var _Utils = require("../common/Utils");
20
- var _types = require("../common/types");
21
- var _Logger = _interopRequireDefault(require("../Logger"));
22
- var _constants2 = require("./constants");
23
- /* eslint-disable dot-notation */
24
- /* eslint-disable no-underscore-dangle */
25
- /**
26
- *
27
- */
28
- var WxCallBackendConnector = /*#__PURE__*/function () {
29
- /**
30
- * @param webex - An object of the webex-js-sdk type.
31
- * @param logger - Logger interface.
32
- */
33
- function WxCallBackendConnector(webex, logger) {
34
- (0, _classCallCheck2.default)(this, WxCallBackendConnector);
35
- (0, _defineProperty2.default)(this, "xsiEndpoint", void 0);
36
- (0, _defineProperty2.default)(this, "userId", void 0);
37
- (0, _defineProperty2.default)(this, "context", void 0);
38
- (0, _defineProperty2.default)(this, "sdkConnector", void 0);
39
- (0, _defineProperty2.default)(this, "xsiVoiceMessageURI", void 0);
40
- (0, _defineProperty2.default)(this, "webex", void 0);
41
- this.sdkConnector = _SDKConnector.default;
42
- if (!this.sdkConnector.getWebex()) {
43
- _SDKConnector.default.setWebex(webex);
44
- }
45
- this.context = Math.random().toString(_constants2.RADIX_RAND).substring(_constants2.PREFIX);
46
- this.webex = this.sdkConnector.getWebex();
47
- this.userId = this.webex.internal.device.userId;
48
- _Logger.default.setLogger(logger.level, _constants.WEBEX_CALLING_CONNECTOR_FILE);
49
- }
50
-
51
- /**
52
- * Initializing Webex calling voicemail connector.
53
- *
54
- * @returns Response.
55
- */
56
- (0, _createClass2.default)(WxCallBackendConnector, [{
57
- key: "init",
58
- value: function init() {
59
- var loggerContext = {
60
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
61
- method: 'init'
62
- };
63
- _Logger.default.info('Initializing Webex calling voicemail connector', loggerContext);
64
- var response = this.setXsiVoiceMessageURI();
65
- return response;
66
- }
67
-
68
- /**
69
- * SDK connector function.
70
- *
71
- * @returns SdkConnector.
72
- */
73
- }, {
74
- key: "getSDKConnector",
75
- value: function getSDKConnector() {
76
- return this.sdkConnector;
77
- }
78
-
79
- /**
80
- * Register XSI URL.
81
- */
82
- }, {
83
- key: "setXsiVoiceMessageURI",
84
- value: function () {
85
- var _setXsiVoiceMessageURI = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
86
- var responseDetails, loggerContext;
87
- return _regenerator.default.wrap(function _callee$(_context) {
88
- while (1) switch (_context.prev = _context.next) {
89
- case 0:
90
- loggerContext = {
91
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
92
- method: 'setXsiVoiceMessageURI'
93
- };
94
- _context.next = 3;
95
- return (0, _Utils.getXsiActionEndpoint)(this.webex, loggerContext, _types.CALLING_BACKEND.WXC);
96
- case 3:
97
- this.xsiEndpoint = _context.sent;
98
- _Logger.default.info("XsiEndpoint is ".concat(this.xsiEndpoint), loggerContext);
99
- if (this.userId) {
100
- this.xsiVoiceMessageURI = "".concat(this.xsiEndpoint, "/").concat(_constants.BW_XSI_ENDPOINT_VERSION, "/").concat(_constants.USER, "/").concat(this.userId, "/").concat(_constants2.VOICE_MESSAGING_MESSAGES);
101
- responseDetails = {
102
- statusCode: _constants.SUCCESS_STATUS_CODE,
103
- data: {},
104
- message: _constants.SUCCESS_MESSAGE
105
- };
106
- }
107
- return _context.abrupt("return", responseDetails);
108
- case 7:
109
- case "end":
110
- return _context.stop();
111
- }
112
- }, _callee, this);
113
- }));
114
- function setXsiVoiceMessageURI() {
115
- return _setXsiVoiceMessageURI.apply(this, arguments);
116
- }
117
- return setXsiVoiceMessageURI;
118
- }()
119
- /**
120
- * Fetch voicemail list for Webex users.
121
- *
122
- * @param sort - Sort voicemail list (ASC | DESC).
123
- * @param offset - Number of records to skip.
124
- * @param offsetLimit - Number of voicemail list to fetch from the offset.
125
- * @param refresh - Refresh the list of voicemails from backend.
126
- * @returns Promise.
127
- */
128
- }, {
129
- key: "getVoicemailList",
130
- value: function () {
131
- var _getVoicemailList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(offset, offsetLimit, sort, refresh) {
132
- var loggerContext, messageinfo, urlXsi, sortParam, _voicemailListRespons, _voicemailListRespons2, _voicemailListRespons3, response, voicemailListResponse, _voicemailListRespons4, _voicemailListRespons5, _voicemailListRespons6, _voicemailListRespons7, errorInfo, errorStatus, _fetchVoicemailList, messages, moreVMAvailable, responseDetails;
133
- return _regenerator.default.wrap(function _callee2$(_context2) {
134
- while (1) switch (_context2.prev = _context2.next) {
135
- case 0:
136
- loggerContext = {
137
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
138
- method: 'getVoicemailList'
139
- };
140
- _Logger.default.info("Offset: ".concat(offset, " Offset limit: ").concat(offsetLimit, " Sort type:").concat(sort), loggerContext);
141
- if (!refresh) {
142
- _context2.next = 19;
143
- break;
144
- }
145
- urlXsi = "".concat(this.xsiVoiceMessageURI).concat(_constants2.JSON_FORMAT);
146
- sortParam = (0, _values.default)(_types.SORT).includes(sort) ? sort : _types.SORT.DEFAULT;
147
- _context2.prev = 5;
148
- _context2.next = 8;
149
- return this.webex.request({
150
- uri: "".concat(urlXsi),
151
- method: _types.HTTP_METHODS.GET
152
- });
153
- case 8:
154
- response = _context2.sent;
155
- voicemailListResponse = response.body;
156
- if ((0, _keys.default)(voicemailListResponse === null || voicemailListResponse === void 0 ? void 0 : (_voicemailListRespons = voicemailListResponse.VoiceMessagingMessages) === null || _voicemailListRespons === void 0 ? void 0 : _voicemailListRespons.messageInfoList).length === 0) {
157
- messageinfo = [];
158
- } else if (!(0, _isArray.default)(voicemailListResponse === null || voicemailListResponse === void 0 ? void 0 : (_voicemailListRespons2 = voicemailListResponse.VoiceMessagingMessages) === null || _voicemailListRespons2 === void 0 ? void 0 : (_voicemailListRespons3 = _voicemailListRespons2.messageInfoList) === null || _voicemailListRespons3 === void 0 ? void 0 : _voicemailListRespons3.messageInfo)) {
159
- messageinfo = Array(voicemailListResponse === null || voicemailListResponse === void 0 ? void 0 : (_voicemailListRespons4 = voicemailListResponse.VoiceMessagingMessages) === null || _voicemailListRespons4 === void 0 ? void 0 : (_voicemailListRespons5 = _voicemailListRespons4.messageInfoList) === null || _voicemailListRespons5 === void 0 ? void 0 : _voicemailListRespons5.messageInfo);
160
- } else {
161
- messageinfo = voicemailListResponse === null || voicemailListResponse === void 0 ? void 0 : (_voicemailListRespons6 = voicemailListResponse.VoiceMessagingMessages) === null || _voicemailListRespons6 === void 0 ? void 0 : (_voicemailListRespons7 = _voicemailListRespons6.messageInfoList) === null || _voicemailListRespons7 === void 0 ? void 0 : _voicemailListRespons7.messageInfo;
162
- messageinfo = (0, _Utils.getSortedVoicemailList)(messageinfo, sortParam);
163
- }
164
- (0, _Utils.storeVoicemailList)(this.context, messageinfo);
165
- _context2.next = 19;
166
- break;
167
- case 14:
168
- _context2.prev = 14;
169
- _context2.t0 = _context2["catch"](5);
170
- errorInfo = _context2.t0;
171
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
172
- return _context2.abrupt("return", errorStatus);
173
- case 19:
174
- _fetchVoicemailList = (0, _Utils.fetchVoicemailList)(this.context, offset, offsetLimit, loggerContext), messages = _fetchVoicemailList.messages, moreVMAvailable = _fetchVoicemailList.moreVMAvailable;
175
- responseDetails = {
176
- statusCode: moreVMAvailable ? _constants.SUCCESS_STATUS_CODE : _constants2.NO_VOICEMAIL_STATUS_CODE,
177
- data: {
178
- voicemailList: messages
179
- },
180
- message: moreVMAvailable ? _constants.SUCCESS_MESSAGE : _constants2.NO_VOICEMAIL_MSG
181
- };
182
- return _context2.abrupt("return", responseDetails);
183
- case 22:
184
- case "end":
185
- return _context2.stop();
186
- }
187
- }, _callee2, this, [[5, 14]]);
188
- }));
189
- function getVoicemailList(_x, _x2, _x3, _x4) {
190
- return _getVoicemailList.apply(this, arguments);
191
- }
192
- return getVoicemailList;
193
- }()
194
- /**
195
- * Fetch the voicemail contents for the messageId.
196
- *
197
- * @param messageId -string result from the voicemail list.
198
- * @returns Promise.
199
- */
200
- }, {
201
- key: "getVoicemailContent",
202
- value: function () {
203
- var _getVoicemailContent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(messageId) {
204
- var loggerContext, _mediaDetails$childNo, _mediaDetails$childNo2, voicemailContentUrl, response, parser, xmlDOM, mediaDetails, mediaType, mediaContent, responseDetails, errorInfo, errorStatus;
205
- return _regenerator.default.wrap(function _callee3$(_context3) {
206
- while (1) switch (_context3.prev = _context3.next) {
207
- case 0:
208
- loggerContext = {
209
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
210
- method: 'getVoicemailContent'
211
- };
212
- _context3.prev = 1;
213
- voicemailContentUrl = "".concat(this.xsiEndpoint).concat(messageId);
214
- _context3.next = 5;
215
- return this.webex.request({
216
- uri: "".concat(voicemailContentUrl),
217
- method: _types.HTTP_METHODS.GET
218
- });
219
- case 5:
220
- response = _context3.sent;
221
- parser = new DOMParser();
222
- xmlDOM = parser.parseFromString(response[_constants.RAW_REQUEST].response, _constants.XML_TYPE);
223
- mediaDetails = xmlDOM.getElementsByTagName(_constants2.MESSAGE_MEDIA_CONTENT)[0];
224
- mediaType = (_mediaDetails$childNo = mediaDetails.childNodes[1]) === null || _mediaDetails$childNo === void 0 ? void 0 : _mediaDetails$childNo.textContent;
225
- mediaContent = (_mediaDetails$childNo2 = mediaDetails.childNodes[2]) === null || _mediaDetails$childNo2 === void 0 ? void 0 : _mediaDetails$childNo2.textContent;
226
- _Logger.default.info("Media type is ".concat(mediaType), loggerContext);
227
- responseDetails = {
228
- statusCode: Number(response.statusCode),
229
- data: {
230
- voicemailContent: {
231
- type: mediaType,
232
- content: mediaContent
233
- }
234
- },
235
- message: _constants.SUCCESS_MESSAGE
236
- };
237
- return _context3.abrupt("return", responseDetails);
238
- case 16:
239
- _context3.prev = 16;
240
- _context3.t0 = _context3["catch"](1);
241
- errorInfo = _context3.t0;
242
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
243
- _Logger.default.info("Voice mail content error is ".concat(errorStatus), loggerContext);
244
- return _context3.abrupt("return", errorStatus);
245
- case 22:
246
- case "end":
247
- return _context3.stop();
248
- }
249
- }, _callee3, this, [[1, 16]]);
250
- }));
251
- function getVoicemailContent(_x5) {
252
- return _getVoicemailContent.apply(this, arguments);
253
- }
254
- return getVoicemailContent;
255
- }()
256
- /**
257
- * Fetches a quantitative summary of voicemails for a user.
258
- *
259
- * @returns - A Promise that resolves with the data containing counters for newMessages, oldMessage, newUrgentMessages, oldUrgentMessages.
260
- */
261
- }, {
262
- key: "getVoicemailSummary",
263
- value: function () {
264
- var _getVoicemailSummary = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
265
- var loggerContext, voicemailSummaryUrl, response, parser, xmlDOM, voicemailSummary, newMessages, newUrgentMessages, oldMessages, oldUrgentMessages, responseDetails, errorInfo, errorStatus;
266
- return _regenerator.default.wrap(function _callee4$(_context4) {
267
- while (1) switch (_context4.prev = _context4.next) {
268
- case 0:
269
- loggerContext = {
270
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
271
- method: 'getVoicemailSummary'
272
- };
273
- _context4.prev = 1;
274
- voicemailSummaryUrl = "".concat(this.xsiEndpoint, "/").concat(_constants.BW_XSI_ENDPOINT_VERSION, "/").concat(_constants.USER, "/").concat(this.userId, "/").concat(_constants2.CALLS, "/").concat(_constants2.MESSAGE_SUMMARY);
275
- _context4.next = 5;
276
- return this.webex.request({
277
- uri: "".concat(voicemailSummaryUrl),
278
- method: _types.HTTP_METHODS.GET
279
- });
280
- case 5:
281
- response = _context4.sent;
282
- parser = new DOMParser();
283
- xmlDOM = parser.parseFromString(response[_constants.RAW_REQUEST].response, _constants.XML_TYPE);
284
- voicemailSummary = xmlDOM.getElementsByTagName(_constants2.SUMMARY)[0];
285
- newMessages = voicemailSummary.getElementsByTagName(_constants2.NEW_MESSAGES)[0];
286
- newUrgentMessages = voicemailSummary.getElementsByTagName(_constants2.NEW_URGENT_MESSAGES)[0];
287
- oldMessages = voicemailSummary.getElementsByTagName(_constants2.OLD_MESSAGES)[0];
288
- oldUrgentMessages = voicemailSummary.getElementsByTagName(_constants2.OLD_URGENT_MESSAGES)[0];
289
- responseDetails = {
290
- statusCode: Number(response.statusCode),
291
- data: {
292
- voicemailSummary: {
293
- newMessages: newMessages ? Number(newMessages.textContent) : 0,
294
- newUrgentMessages: newUrgentMessages ? Number(newUrgentMessages.textContent) : 0,
295
- oldMessages: oldMessages ? Number(oldMessages.textContent) : 0,
296
- oldUrgentMessages: oldUrgentMessages ? Number(oldUrgentMessages.textContent) : 0
297
- }
298
- },
299
- message: _constants.SUCCESS_MESSAGE
300
- };
301
- return _context4.abrupt("return", responseDetails);
302
- case 17:
303
- _context4.prev = 17;
304
- _context4.t0 = _context4["catch"](1);
305
- errorInfo = _context4.t0;
306
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
307
- _Logger.default.error(new Error("Voicemail summary error is ".concat(errorStatus)), loggerContext);
308
- return _context4.abrupt("return", errorStatus);
309
- case 23:
310
- case "end":
311
- return _context4.stop();
312
- }
313
- }, _callee4, this, [[1, 17]]);
314
- }));
315
- function getVoicemailSummary() {
316
- return _getVoicemailSummary.apply(this, arguments);
317
- }
318
- return getVoicemailSummary;
319
- }()
320
- /**
321
- * Fetch voicemail read message status for the messageId.
322
- *
323
- * @param messageId -string result from the voicemail list.
324
- * @returns Promise.
325
- */
326
- }, {
327
- key: "voicemailMarkAsRead",
328
- value: function () {
329
- var _voicemailMarkAsRead = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(messageId) {
330
- var loggerContext, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
331
- return _regenerator.default.wrap(function _callee5$(_context5) {
332
- while (1) switch (_context5.prev = _context5.next) {
333
- case 0:
334
- loggerContext = {
335
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
336
- method: 'voicemailMarkAsRead'
337
- };
338
- _context5.prev = 1;
339
- voicemailContentUrl = "".concat(this.xsiEndpoint).concat(messageId, "/").concat(_constants2.MARK_AS_READ);
340
- _context5.next = 5;
341
- return this.webex.request({
342
- uri: voicemailContentUrl,
343
- method: _types.HTTP_METHODS.PUT
344
- });
345
- case 5:
346
- response = _context5.sent;
347
- responseDetails = {
348
- statusCode: Number(response.statusCode),
349
- data: {},
350
- message: _constants.SUCCESS_MESSAGE
351
- };
352
- return _context5.abrupt("return", responseDetails);
353
- case 10:
354
- _context5.prev = 10;
355
- _context5.t0 = _context5["catch"](1);
356
- errorInfo = _context5.t0;
357
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
358
- return _context5.abrupt("return", errorStatus);
359
- case 15:
360
- case "end":
361
- return _context5.stop();
362
- }
363
- }, _callee5, this, [[1, 10]]);
364
- }));
365
- function voicemailMarkAsRead(_x6) {
366
- return _voicemailMarkAsRead.apply(this, arguments);
367
- }
368
- return voicemailMarkAsRead;
369
- }()
370
- /**
371
- * Fetch voicemail unread message status for the messageId.
372
- *
373
- * @param messageId -string result from the voicemail list.
374
- * @returns Promise.
375
- */
376
- }, {
377
- key: "voicemailMarkAsUnread",
378
- value: function () {
379
- var _voicemailMarkAsUnread = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(messageId) {
380
- var loggerContext, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
381
- return _regenerator.default.wrap(function _callee6$(_context6) {
382
- while (1) switch (_context6.prev = _context6.next) {
383
- case 0:
384
- loggerContext = {
385
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
386
- method: 'voicemailMarkAsUnread'
387
- };
388
- _context6.prev = 1;
389
- voicemailContentUrl = "".concat(this.xsiEndpoint).concat(messageId, "/").concat(_constants2.MARK_AS_UNREAD);
390
- _context6.next = 5;
391
- return this.webex.request({
392
- uri: voicemailContentUrl,
393
- method: _types.HTTP_METHODS.PUT
394
- });
395
- case 5:
396
- response = _context6.sent;
397
- responseDetails = {
398
- statusCode: Number(response.statusCode),
399
- data: {},
400
- message: _constants.SUCCESS_MESSAGE
401
- };
402
- return _context6.abrupt("return", responseDetails);
403
- case 10:
404
- _context6.prev = 10;
405
- _context6.t0 = _context6["catch"](1);
406
- errorInfo = _context6.t0;
407
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
408
- return _context6.abrupt("return", errorStatus);
409
- case 15:
410
- case "end":
411
- return _context6.stop();
412
- }
413
- }, _callee6, this, [[1, 10]]);
414
- }));
415
- function voicemailMarkAsUnread(_x7) {
416
- return _voicemailMarkAsUnread.apply(this, arguments);
417
- }
418
- return voicemailMarkAsUnread;
419
- }()
420
- /**
421
- * Fetch voicemail delete status for the messageId.
422
- *
423
- * @param messageId -string result from the voicemail list.
424
- * @returns Promise.
425
- */
426
- }, {
427
- key: "deleteVoicemail",
428
- value: function () {
429
- var _deleteVoicemail = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(messageId) {
430
- var loggerContext, voicemailContentUrl, response, responseDetails, errorInfo, errorStatus;
431
- return _regenerator.default.wrap(function _callee7$(_context7) {
432
- while (1) switch (_context7.prev = _context7.next) {
433
- case 0:
434
- loggerContext = {
435
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
436
- method: 'deleteVoicemail'
437
- };
438
- _context7.prev = 1;
439
- voicemailContentUrl = "".concat(this.xsiEndpoint).concat(messageId);
440
- _context7.next = 5;
441
- return this.webex.request({
442
- uri: voicemailContentUrl,
443
- method: _types.HTTP_METHODS.DELETE
444
- });
445
- case 5:
446
- response = _context7.sent;
447
- responseDetails = {
448
- statusCode: Number(response.statusCode),
449
- data: {},
450
- message: _constants.SUCCESS_MESSAGE
451
- };
452
- return _context7.abrupt("return", responseDetails);
453
- case 10:
454
- _context7.prev = 10;
455
- _context7.t0 = _context7["catch"](1);
456
- errorInfo = _context7.t0;
457
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
458
- return _context7.abrupt("return", errorStatus);
459
- case 15:
460
- case "end":
461
- return _context7.stop();
462
- }
463
- }, _callee7, this, [[1, 10]]);
464
- }));
465
- function deleteVoicemail(_x8) {
466
- return _deleteVoicemail.apply(this, arguments);
467
- }
468
- return deleteVoicemail;
469
- }()
470
- /**
471
- * Fetch voicemail transcript for the messageId.
472
- *
473
- * @param messageId - MessageId to fetch voicemail transcript.
474
- * @returns Promise.
475
- */
476
- }, {
477
- key: "getVMTranscript",
478
- value: function () {
479
- var _getVMTranscript = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(messageId) {
480
- var loggerContext, voicemailContentUrl, response, parser, xmlDOM, status, transcript, responseDetails, errorInfo, errorStatus;
481
- return _regenerator.default.wrap(function _callee8$(_context8) {
482
- while (1) switch (_context8.prev = _context8.next) {
483
- case 0:
484
- loggerContext = {
485
- file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
486
- method: 'getVMTranscript'
487
- };
488
- _context8.prev = 1;
489
- voicemailContentUrl = "".concat(this.xsiEndpoint).concat(messageId, "/").concat(_constants.TRANSCRIPT);
490
- _context8.next = 5;
491
- return this.webex.request({
492
- uri: voicemailContentUrl,
493
- method: _types.HTTP_METHODS.GET
494
- });
495
- case 5:
496
- response = _context8.sent;
497
- parser = new DOMParser();
498
- xmlDOM = parser.parseFromString(response[_constants.RAW_REQUEST].response, _constants.XML_TYPE);
499
- status = xmlDOM.getElementsByTagName(_constants2.TRANSCRIPT_STATUS)[0];
500
- transcript = xmlDOM.getElementsByTagName(_constants2.TRANSCRIPT_CONTENT)[0];
501
- responseDetails = {
502
- statusCode: Number(response.statusCode),
503
- data: {
504
- voicemailTranscript: transcript === null || transcript === void 0 ? void 0 : transcript.textContent
505
- },
506
- message: status.textContent
507
- };
508
- return _context8.abrupt("return", responseDetails);
509
- case 14:
510
- _context8.prev = 14;
511
- _context8.t0 = _context8["catch"](1);
512
- errorInfo = _context8.t0;
513
- errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
514
- return _context8.abrupt("return", errorStatus);
515
- case 19:
516
- case "end":
517
- return _context8.stop();
518
- }
519
- }, _callee8, this, [[1, 14]]);
520
- }));
521
- function getVMTranscript(_x9) {
522
- return _getVMTranscript.apply(this, arguments);
523
- }
524
- return getVMTranscript;
525
- }()
526
- /**
527
- * Resolve the Contact from userId or display name.
528
- *
529
- * @param callingPartyInfo - Calling Party Info.
530
- */
531
- }, {
532
- key: "resolveContact",
533
- value: function resolveContact(callingPartyInfo) {
534
- return (0, _Utils.resolveContact)(callingPartyInfo);
535
- }
536
- }]);
537
- return WxCallBackendConnector;
538
- }();
539
- exports.WxCallBackendConnector = WxCallBackendConnector;
540
- //# sourceMappingURL=WxCallBackendConnector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_constants","_Utils","_types","_Logger","_constants2","WxCallBackendConnector","webex","logger","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","context","Math","random","toString","RADIX_RAND","substring","PREFIX","userId","internal","device","log","setLogger","level","WEBEX_CALLING_CONNECTOR_FILE","_createClass2","key","value","init","loggerContext","file","method","info","response","setXsiVoiceMessageURI","getSDKConnector","_setXsiVoiceMessageURI","_asyncToGenerator2","_regenerator","mark","_callee","responseDetails","wrap","_callee$","_context","prev","next","getXsiActionEndpoint","CALLING_BACKEND","WXC","xsiEndpoint","sent","concat","xsiVoiceMessageURI","BW_XSI_ENDPOINT_VERSION","USER","VOICE_MESSAGING_MESSAGES","statusCode","SUCCESS_STATUS_CODE","data","message","SUCCESS_MESSAGE","abrupt","stop","apply","arguments","_getVoicemailList","_callee2","offset","offsetLimit","sort","refresh","messageinfo","urlXsi","sortParam","_voicemailListRespons","_voicemailListRespons2","_voicemailListRespons3","voicemailListResponse","_voicemailListRespons4","_voicemailListRespons5","_voicemailListRespons6","_voicemailListRespons7","errorInfo","errorStatus","_fetchVoicemailList","messages","moreVMAvailable","_callee2$","_context2","JSON_FORMAT","_values","SORT","includes","DEFAULT","request","uri","HTTP_METHODS","GET","body","_keys","VoiceMessagingMessages","messageInfoList","length","_isArray","messageInfo","Array","getSortedVoicemailList","storeVoicemailList","t0","serviceErrorCodeHandler","fetchVoicemailList","NO_VOICEMAIL_STATUS_CODE","voicemailList","NO_VOICEMAIL_MSG","getVoicemailList","_x","_x2","_x3","_x4","_getVoicemailContent","_callee3","messageId","_mediaDetails$childNo","_mediaDetails$childNo2","voicemailContentUrl","parser","xmlDOM","mediaDetails","mediaType","mediaContent","_callee3$","_context3","DOMParser","parseFromString","RAW_REQUEST","XML_TYPE","getElementsByTagName","MESSAGE_MEDIA_CONTENT","childNodes","textContent","Number","voicemailContent","type","content","getVoicemailContent","_x5","_getVoicemailSummary","_callee4","voicemailSummaryUrl","voicemailSummary","newMessages","newUrgentMessages","oldMessages","oldUrgentMessages","_callee4$","_context4","CALLS","MESSAGE_SUMMARY","SUMMARY","NEW_MESSAGES","NEW_URGENT_MESSAGES","OLD_MESSAGES","OLD_URGENT_MESSAGES","error","Error","getVoicemailSummary","_voicemailMarkAsRead","_callee5","_callee5$","_context5","MARK_AS_READ","PUT","voicemailMarkAsRead","_x6","_voicemailMarkAsUnread","_callee6","_callee6$","_context6","MARK_AS_UNREAD","voicemailMarkAsUnread","_x7","_deleteVoicemail","_callee7","_callee7$","_context7","DELETE","deleteVoicemail","_x8","_getVMTranscript","_callee8","status","transcript","_callee8$","_context8","TRANSCRIPT","TRANSCRIPT_STATUS","TRANSCRIPT_CONTENT","voicemailTranscript","getVMTranscript","_x9","resolveContact","callingPartyInfo","exports"],"sources":["WxCallBackendConnector.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport ExtendedError from '../Errors/catalog/ExtendedError';\nimport SDKConnector from '../SDKConnector';\nimport {\n RAW_REQUEST,\n SUCCESS_MESSAGE,\n SUCCESS_STATUS_CODE,\n TRANSCRIPT,\n USER,\n XML_TYPE,\n BW_XSI_ENDPOINT_VERSION,\n WEBEX_CALLING_CONNECTOR_FILE,\n} from '../common/constants';\nimport {\n serviceErrorCodeHandler,\n getXsiActionEndpoint,\n getSortedVoicemailList,\n resolveContact,\n storeVoicemailList,\n fetchVoicemailList,\n} from '../common/Utils';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n IWxCallBackendConnector,\n MessageInfo,\n VoicemailResponseEvent,\n VoicemailList,\n CallingPartyInfo,\n} from './types';\nimport {\n CALLING_BACKEND,\n DisplayInformation,\n HTTP_METHODS,\n SORT,\n WebexRequestPayload,\n} from '../common/types';\nimport log from '../Logger';\n\nimport {\n JSON_FORMAT,\n MARK_AS_READ,\n MARK_AS_UNREAD,\n MESSAGE_MEDIA_CONTENT,\n TRANSCRIPT_CONTENT,\n VOICE_MESSAGING_MESSAGES,\n NO_VOICEMAIL_MSG,\n NO_VOICEMAIL_STATUS_CODE,\n RADIX_RAND,\n PREFIX,\n TRANSCRIPT_STATUS,\n MESSAGE_SUMMARY,\n CALLS,\n SUMMARY,\n NEW_MESSAGES,\n NEW_URGENT_MESSAGES,\n OLD_URGENT_MESSAGES,\n OLD_MESSAGES,\n} from './constants';\n/**\n *\n */\nexport class WxCallBackendConnector implements IWxCallBackendConnector {\n public xsiEndpoint!: WebexRequestPayload;\n\n public userId!: string;\n\n private context: string;\n\n private sdkConnector: ISDKConnector;\n\n private xsiVoiceMessageURI!: string;\n\n private webex: WebexSDK;\n\n /**\n * @param webex - An object of the webex-js-sdk type.\n * @param logger - Logger interface.\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.context = Math.random().toString(RADIX_RAND).substring(PREFIX);\n this.webex = this.sdkConnector.getWebex();\n this.userId = this.webex.internal.device.userId;\n log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);\n }\n\n /**\n * Initializing Webex calling voicemail connector.\n *\n * @returns Response.\n */\n public init() {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'init',\n };\n\n log.info('Initializing Webex calling voicemail connector', loggerContext);\n const response = this.setXsiVoiceMessageURI();\n\n return response as unknown as VoicemailResponseEvent;\n }\n\n /**\n * SDK connector function.\n *\n * @returns SdkConnector.\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\n * Register XSI URL.\n */\n private async setXsiVoiceMessageURI() {\n let responseDetails;\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'setXsiVoiceMessageURI',\n };\n\n this.xsiEndpoint = await getXsiActionEndpoint(this.webex, loggerContext, CALLING_BACKEND.WXC);\n log.info(`XsiEndpoint is ${this.xsiEndpoint}`, loggerContext);\n if (this.userId) {\n this.xsiVoiceMessageURI = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${this.userId}/${VOICE_MESSAGING_MESSAGES}`;\n\n responseDetails = {\n statusCode: SUCCESS_STATUS_CODE,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n }\n\n return responseDetails;\n }\n\n /**\n * Fetch voicemail list for Webex users.\n *\n * @param sort - Sort voicemail list (ASC | DESC).\n * @param offset - Number of records to skip.\n * @param offsetLimit - Number of voicemail list to fetch from the offset.\n * @param refresh - Refresh the list of voicemails from backend.\n * @returns Promise.\n */\n public async getVoicemailList(\n offset: number,\n offsetLimit: number,\n sort: SORT,\n refresh?: boolean\n ) {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getVoicemailList',\n };\n\n log.info(`Offset: ${offset} Offset limit: ${offsetLimit} Sort type:${sort}`, loggerContext);\n\n let messageinfo: MessageInfo[] | undefined;\n\n if (refresh) {\n const urlXsi = `${this.xsiVoiceMessageURI}${JSON_FORMAT}`;\n\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${urlXsi}`,\n method: HTTP_METHODS.GET,\n });\n\n const voicemailListResponse = response.body as VoicemailList;\n\n if (\n Object.keys(voicemailListResponse?.VoiceMessagingMessages?.messageInfoList).length === 0\n ) {\n messageinfo = [];\n } else if (\n !Array.isArray(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n )\n ) {\n messageinfo = Array(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n ) as MessageInfo[];\n } else {\n messageinfo = voicemailListResponse?.VoiceMessagingMessages?.messageInfoList\n ?.messageInfo as MessageInfo[];\n messageinfo = getSortedVoicemailList(messageinfo, sortParam);\n }\n\n storeVoicemailList(this.context, messageinfo);\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n const {messages, moreVMAvailable} = fetchVoicemailList(\n this.context,\n offset,\n offsetLimit,\n loggerContext\n );\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: moreVMAvailable ? SUCCESS_STATUS_CODE : NO_VOICEMAIL_STATUS_CODE,\n data: {\n voicemailList: messages,\n },\n message: moreVMAvailable ? SUCCESS_MESSAGE : NO_VOICEMAIL_MSG,\n };\n\n return responseDetails;\n }\n\n /**\n * Fetch the voicemail contents for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getVoicemailContent',\n };\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${voicemailContentUrl}`,\n method: HTTP_METHODS.GET,\n });\n\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);\n const mediaDetails = xmlDOM.getElementsByTagName(MESSAGE_MEDIA_CONTENT)[0];\n const mediaType = mediaDetails.childNodes[1]?.textContent;\n const mediaContent = mediaDetails.childNodes[2]?.textContent;\n\n log.info(`Media type is ${mediaType}`, loggerContext);\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {\n voicemailContent: {\n type: mediaType,\n content: mediaContent,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n log.info(`Voice mail content error is ${errorStatus}`, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetches a quantitative summary of voicemails for a user.\n *\n * @returns - A Promise that resolves with the data containing counters for newMessages, oldMessage, newUrgentMessages, oldUrgentMessages.\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getVoicemailSummary',\n };\n\n try {\n const voicemailSummaryUrl = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${this.userId}/${CALLS}/${MESSAGE_SUMMARY}`;\n\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${voicemailSummaryUrl}`,\n method: HTTP_METHODS.GET,\n });\n\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);\n const voicemailSummary = xmlDOM.getElementsByTagName(SUMMARY)[0];\n\n const newMessages = voicemailSummary.getElementsByTagName(NEW_MESSAGES)[0];\n const newUrgentMessages = voicemailSummary.getElementsByTagName(NEW_URGENT_MESSAGES)[0];\n const oldMessages = voicemailSummary.getElementsByTagName(OLD_MESSAGES)[0];\n const oldUrgentMessages = voicemailSummary.getElementsByTagName(OLD_URGENT_MESSAGES)[0];\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {\n voicemailSummary: {\n newMessages: newMessages ? Number(newMessages.textContent) : 0,\n newUrgentMessages: newUrgentMessages ? Number(newUrgentMessages.textContent) : 0,\n oldMessages: oldMessages ? Number(oldMessages.textContent) : 0,\n oldUrgentMessages: oldUrgentMessages ? Number(oldUrgentMessages.textContent) : 0,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n log.error(\n new Error(`Voicemail summary error is ${errorStatus}`) as ExtendedError,\n loggerContext\n );\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'voicemailMarkAsRead',\n };\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_READ}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n });\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail unread message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'voicemailMarkAsUnread',\n };\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_UNREAD}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.PUT,\n });\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'deleteVoicemail',\n };\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.DELETE,\n });\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail transcript for the messageId.\n *\n * @param messageId - MessageId to fetch voicemail transcript.\n * @returns Promise.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getVMTranscript',\n };\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${TRANSCRIPT}`;\n const response = <WebexRequestPayload>await this.webex.request({\n uri: voicemailContentUrl,\n method: HTTP_METHODS.GET,\n });\n\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);\n const status = xmlDOM.getElementsByTagName(TRANSCRIPT_STATUS)[0];\n const transcript = xmlDOM.getElementsByTagName(TRANSCRIPT_CONTENT)[0];\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: Number(response.statusCode),\n data: {\n voicemailTranscript: transcript?.textContent,\n },\n message: status.textContent,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Resolve the Contact from userId or display name.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n return resolveContact(callingPartyInfo);\n }\n}\n"],"mappings":"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"}