@webex/calling 0.0.1-next.9 → 3.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/CallHistory/CallHistory.js +203 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +133 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +310 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +26 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallSettings/CallSettings.js +276 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +217 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +227 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +541 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +802 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +30 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +72 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +572 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +931 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +103 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +287 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +274 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +2995 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +2614 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +443 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +683 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +71 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +53 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +226 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +312 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +270 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +25 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1295 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +838 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +41 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/types.js +7 -0
  74. package/dist/CallingClient/types.js.map +1 -0
  75. package/dist/Contacts/ContactsClient.js +1139 -0
  76. package/dist/Contacts/ContactsClient.js.map +1 -0
  77. package/dist/Contacts/ContactsClient.test.js +725 -0
  78. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  79. package/dist/Contacts/constants.js +36 -0
  80. package/dist/Contacts/constants.js.map +1 -0
  81. package/dist/Contacts/contactFixtures.js +340 -0
  82. package/dist/Contacts/contactFixtures.js.map +1 -0
  83. package/dist/Contacts/types.js +20 -0
  84. package/dist/Contacts/types.js.map +1 -0
  85. package/dist/Errors/catalog/CallError.js +94 -0
  86. package/dist/Errors/catalog/CallError.js.map +1 -0
  87. package/dist/Errors/catalog/CallingDeviceError.js +88 -0
  88. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  89. package/dist/Errors/catalog/ExtendedError.js +45 -0
  90. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  91. package/dist/Errors/catalog/LineError.js +90 -0
  92. package/dist/Errors/catalog/LineError.js.map +1 -0
  93. package/dist/Errors/index.js +21 -0
  94. package/dist/Errors/index.js.map +1 -0
  95. package/dist/Errors/types.js +62 -0
  96. package/dist/Errors/types.js.map +1 -0
  97. package/dist/Events/impl/index.js +82 -0
  98. package/dist/Events/impl/index.js.map +1 -0
  99. package/dist/Events/types.js +111 -0
  100. package/dist/Events/types.js.map +1 -0
  101. package/dist/Logger/index.js +221 -0
  102. package/dist/Logger/index.js.map +1 -0
  103. package/dist/Logger/index.test.js +62 -0
  104. package/dist/Logger/index.test.js.map +1 -0
  105. package/dist/Logger/types.js +37 -0
  106. package/dist/Logger/types.js.map +1 -0
  107. package/dist/Metrics/index.js +329 -0
  108. package/dist/Metrics/index.js.map +1 -0
  109. package/dist/Metrics/index.test.js +291 -0
  110. package/dist/Metrics/index.test.js.map +1 -0
  111. package/dist/Metrics/types.js +50 -0
  112. package/dist/Metrics/types.js.map +1 -0
  113. package/dist/SDKConnector/index.js +105 -0
  114. package/dist/SDKConnector/index.js.map +1 -0
  115. package/dist/SDKConnector/index.test.js +9 -0
  116. package/dist/SDKConnector/index.test.js.map +1 -0
  117. package/dist/SDKConnector/types.js +7 -0
  118. package/dist/SDKConnector/types.js.map +1 -0
  119. package/dist/SDKConnector/utils.js +40 -0
  120. package/dist/SDKConnector/utils.js.map +1 -0
  121. package/dist/SDKConnector/utils.test.js +9 -0
  122. package/dist/SDKConnector/utils.test.js.map +1 -0
  123. package/dist/Voicemail/BroadworksBackendConnector.js +632 -0
  124. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  125. package/dist/Voicemail/BroadworksBackendConnector.test.js +733 -0
  126. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  127. package/dist/Voicemail/UcmBackendConnector.js +566 -0
  128. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  129. package/dist/Voicemail/UcmBackendConnector.test.js +628 -0
  130. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  131. package/dist/Voicemail/Voicemail.js +378 -0
  132. package/dist/Voicemail/Voicemail.js.map +1 -0
  133. package/dist/Voicemail/Voicemail.test.js +226 -0
  134. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  135. package/dist/Voicemail/WxCallBackendConnector.js +540 -0
  136. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/WxCallBackendConnector.test.js +942 -0
  138. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/constants.js +66 -0
  140. package/dist/Voicemail/constants.js.map +1 -0
  141. package/dist/Voicemail/types.js +7 -0
  142. package/dist/Voicemail/types.js.map +1 -0
  143. package/dist/Voicemail/voicemailFixture.js +559 -0
  144. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  145. package/dist/api.js +134 -0
  146. package/dist/api.js.map +1 -0
  147. package/dist/common/Utils.js +1264 -0
  148. package/dist/common/Utils.js.map +1 -0
  149. package/dist/common/Utils.test.js +1227 -0
  150. package/dist/common/Utils.test.js.map +1 -0
  151. package/dist/common/constants.js +90 -0
  152. package/dist/common/constants.js.map +1 -0
  153. package/dist/common/index.js +19 -0
  154. package/dist/common/index.js.map +1 -0
  155. package/dist/common/testUtil.js +968 -0
  156. package/dist/common/testUtil.js.map +1 -0
  157. package/dist/common/types.js +75 -0
  158. package/dist/common/types.js.map +1 -0
  159. package/dist/index.js +63 -0
  160. package/dist/index.js.map +1 -0
  161. package/dist/types/CallHistory/CallHistory.d.ts +18 -0
  162. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -0
  163. package/dist/types/CallHistory/callHistoryFixtures.d.ts +95 -0
  164. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -0
  165. package/dist/types/CallHistory/constants.d.ts +10 -0
  166. package/dist/types/CallHistory/constants.d.ts.map +1 -0
  167. package/dist/types/CallHistory/types.d.ts +19 -0
  168. package/dist/types/CallHistory/types.d.ts.map +1 -0
  169. package/dist/types/CallSettings/CallSettings.d.ts +20 -0
  170. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -0
  171. package/dist/types/CallSettings/UcmBackendConnector.d.ts +20 -0
  172. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -0
  173. package/dist/types/CallSettings/WxCallBackendConnector.d.ts +22 -0
  174. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -0
  175. package/dist/types/CallSettings/constants.d.ts +12 -0
  176. package/dist/types/CallSettings/constants.d.ts.map +1 -0
  177. package/dist/types/CallSettings/testFixtures.d.ts +16 -0
  178. package/dist/types/CallSettings/testFixtures.d.ts.map +1 -0
  179. package/dist/types/CallSettings/types.d.ts +108 -0
  180. package/dist/types/CallSettings/types.d.ts.map +1 -0
  181. package/dist/types/CallingClient/CallingClient.d.ts +36 -0
  182. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -0
  183. package/dist/types/CallingClient/callRecordFixtures.d.ts +4 -0
  184. package/dist/types/CallingClient/callRecordFixtures.d.ts.map +1 -0
  185. package/dist/types/CallingClient/calling/CallerId/index.d.ts +18 -0
  186. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -0
  187. package/dist/types/CallingClient/calling/CallerId/types.d.ts +42 -0
  188. package/dist/types/CallingClient/calling/CallerId/types.d.ts.map +1 -0
  189. package/dist/types/CallingClient/calling/call.d.ts +97 -0
  190. package/dist/types/CallingClient/calling/call.d.ts.map +1 -0
  191. package/dist/types/CallingClient/calling/callManager.d.ts +26 -0
  192. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -0
  193. package/dist/types/CallingClient/calling/index.d.ts +3 -0
  194. package/dist/types/CallingClient/calling/index.d.ts.map +1 -0
  195. package/dist/types/CallingClient/calling/types.d.ts +207 -0
  196. package/dist/types/CallingClient/calling/types.d.ts.map +1 -0
  197. package/dist/types/CallingClient/callingClientFixtures.d.ts +19 -0
  198. package/dist/types/CallingClient/callingClientFixtures.d.ts.map +1 -0
  199. package/dist/types/CallingClient/constants.d.ts +123 -0
  200. package/dist/types/CallingClient/constants.d.ts.map +1 -0
  201. package/dist/types/CallingClient/line/index.d.ts +44 -0
  202. package/dist/types/CallingClient/line/index.d.ts.map +1 -0
  203. package/dist/types/CallingClient/line/types.d.ts +56 -0
  204. package/dist/types/CallingClient/line/types.d.ts.map +1 -0
  205. package/dist/types/CallingClient/registration/index.d.ts +2 -0
  206. package/dist/types/CallingClient/registration/index.d.ts.map +1 -0
  207. package/dist/types/CallingClient/registration/register.d.ts +65 -0
  208. package/dist/types/CallingClient/registration/register.d.ts.map +1 -0
  209. package/dist/types/CallingClient/registration/registerFixtures.d.ts +29 -0
  210. package/dist/types/CallingClient/registration/registerFixtures.d.ts.map +1 -0
  211. package/dist/types/CallingClient/registration/types.d.ts +21 -0
  212. package/dist/types/CallingClient/registration/types.d.ts.map +1 -0
  213. package/dist/types/CallingClient/types.d.ts +30 -0
  214. package/dist/types/CallingClient/types.d.ts.map +1 -0
  215. package/dist/types/Contacts/ContactsClient.d.ts +27 -0
  216. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -0
  217. package/dist/types/Contacts/constants.d.ts +20 -0
  218. package/dist/types/Contacts/constants.d.ts.map +1 -0
  219. package/dist/types/Contacts/contactFixtures.d.ts +281 -0
  220. package/dist/types/Contacts/contactFixtures.d.ts.map +1 -0
  221. package/dist/types/Contacts/types.d.ts +73 -0
  222. package/dist/types/Contacts/types.d.ts.map +1 -0
  223. package/dist/types/Errors/catalog/CallError.d.ts +12 -0
  224. package/dist/types/Errors/catalog/CallError.d.ts.map +1 -0
  225. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +11 -0
  226. package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -0
  227. package/dist/types/Errors/catalog/ExtendedError.d.ts +7 -0
  228. package/dist/types/Errors/catalog/ExtendedError.d.ts.map +1 -0
  229. package/dist/types/Errors/catalog/LineError.d.ts +11 -0
  230. package/dist/types/Errors/catalog/LineError.d.ts.map +1 -0
  231. package/dist/types/Errors/index.d.ts +3 -0
  232. package/dist/types/Errors/index.d.ts.map +1 -0
  233. package/dist/types/Errors/types.d.ts +61 -0
  234. package/dist/types/Errors/types.d.ts.map +1 -0
  235. package/dist/types/Events/impl/index.d.ts +9 -0
  236. package/dist/types/Events/impl/index.d.ts.map +1 -0
  237. package/dist/types/Events/types.d.ts +289 -0
  238. package/dist/types/Events/types.d.ts.map +1 -0
  239. package/dist/types/Logger/index.d.ts +13 -0
  240. package/dist/types/Logger/index.d.ts.map +1 -0
  241. package/dist/types/Logger/types.d.ts +26 -0
  242. package/dist/types/Logger/types.d.ts.map +1 -0
  243. package/dist/types/Metrics/index.d.ts +6 -0
  244. package/dist/types/Metrics/index.d.ts.map +1 -0
  245. package/dist/types/Metrics/types.d.ts +43 -0
  246. package/dist/types/Metrics/types.d.ts.map +1 -0
  247. package/dist/types/SDKConnector/index.d.ts +13 -0
  248. package/dist/types/SDKConnector/index.d.ts.map +1 -0
  249. package/dist/types/SDKConnector/types.d.ts +129 -0
  250. package/dist/types/SDKConnector/types.d.ts.map +1 -0
  251. package/dist/types/SDKConnector/utils.d.ts +6 -0
  252. package/dist/types/SDKConnector/utils.d.ts.map +1 -0
  253. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts +28 -0
  254. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -0
  255. package/dist/types/Voicemail/UcmBackendConnector.d.ts +35 -0
  256. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -0
  257. package/dist/types/Voicemail/Voicemail.d.ts +28 -0
  258. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -0
  259. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +24 -0
  260. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -0
  261. package/dist/types/Voicemail/constants.d.ts +30 -0
  262. package/dist/types/Voicemail/constants.d.ts.map +1 -0
  263. package/dist/types/Voicemail/types.d.ts +134 -0
  264. package/dist/types/Voicemail/types.d.ts.map +1 -0
  265. package/dist/types/Voicemail/voicemailFixture.d.ts +418 -0
  266. package/dist/types/Voicemail/voicemailFixture.d.ts.map +1 -0
  267. package/dist/types/api.d.ts +17 -0
  268. package/dist/types/api.d.ts.map +1 -0
  269. package/dist/types/common/Utils.d.ts +35 -0
  270. package/dist/types/common/Utils.d.ts.map +1 -0
  271. package/dist/types/common/constants.d.ts +42 -0
  272. package/dist/types/common/constants.d.ts.map +1 -0
  273. package/dist/types/common/index.d.ts +2 -0
  274. package/dist/types/common/index.d.ts.map +1 -0
  275. package/dist/types/common/testUtil.d.ts +3612 -0
  276. package/dist/types/common/testUtil.d.ts.map +1 -0
  277. package/dist/types/common/types.d.ts +192 -0
  278. package/dist/types/common/types.d.ts.map +1 -0
  279. package/dist/types/index.d.ts +9 -0
  280. package/dist/types/index.d.ts.map +1 -0
  281. package/package.json +1 -1
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
8
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
9
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
11
+ var _testUtil = require("../common/testUtil");
12
+ var _index = require("./index");
13
+ var _types = require("./types");
14
+ var _constants = require("../CallingClient/constants");
15
+ var _CallingDeviceError = require("../Errors/catalog/CallingDeviceError");
16
+ var _types2 = require("../Errors/types");
17
+ var _types3 = require("../common/types");
18
+ var _Logger = _interopRequireDefault(require("../Logger"));
19
+ var _CallError = require("../Errors/catalog/CallError");
20
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ var webex = (0, _testUtil.getTestUtilsWebex)();
23
+ describe('CALLING: Metric tests', function () {
24
+ var metricManager = (0, _index.getMetricManager)(webex, _types3.ServiceIndicator.CALLING);
25
+ var mockDeviceInfo = (0, _testUtil.getMockDeviceInfo)();
26
+ var mockSubmitClientMetric = jest.fn();
27
+ webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;
28
+ var mockCallId = '123456';
29
+ var mockCorrelationId = '0931237';
30
+ var mockCallAction = 'S_SEND_CALL_SETUP';
31
+ var mockMediaAction = 'S_SEND_ROAP_OFFER';
32
+ beforeEach(function () {
33
+ mockSubmitClientMetric.mockClear();
34
+ });
35
+ it('initialize metric manager', function () {
36
+ expect(metricManager).not.toBeNull();
37
+ expect(metricManager['deviceInfo']).toBeUndefined();
38
+ });
39
+ it('update deviceInfo in metric manager', function () {
40
+ expect(metricManager['deviceInfo']).toBeUndefined();
41
+ metricManager.setDeviceInfo(mockDeviceInfo);
42
+ expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);
43
+ });
44
+ describe('CallingClient metric tests', function () {
45
+ it('submit registration success metric', function () {
46
+ metricManager.setDeviceInfo(mockDeviceInfo);
47
+ var expectedData = {
48
+ tags: {
49
+ action: _types.REG_ACTION.REGISTER,
50
+ device_id: mockDeviceInfo.device.deviceId,
51
+ service_indicator: _types3.ServiceIndicator.CALLING
52
+ },
53
+ fields: {
54
+ device_url: mockDeviceInfo.device.clientDeviceUri,
55
+ mobius_url: mockDeviceInfo.device.uri,
56
+ calling_sdk_version: _constants.VERSION
57
+ },
58
+ type: _types.METRIC_TYPE.BEHAVIORAL
59
+ };
60
+ metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL);
61
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION, expectedData);
62
+ });
63
+ it('submit registration failure metric', function () {
64
+ metricManager.setDeviceInfo(mockDeviceInfo);
65
+ var clientError = (0, _CallingDeviceError.createClientError)('', {}, _types2.ERROR_TYPE.DEFAULT, _types3.MobiusStatus.DEFAULT);
66
+ var err = {};
67
+ err.context = {};
68
+ err.message = 'Unknown Error';
69
+ err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
70
+ clientError.setError(err);
71
+ var expectedData = {
72
+ tags: {
73
+ action: _types.REG_ACTION.REGISTER,
74
+ device_id: mockDeviceInfo.device.deviceId,
75
+ service_indicator: _types3.ServiceIndicator.CALLING
76
+ },
77
+ fields: {
78
+ device_url: mockDeviceInfo.device.clientDeviceUri,
79
+ mobius_url: mockDeviceInfo.device.uri,
80
+ calling_sdk_version: _constants.VERSION,
81
+ error: clientError.getError().message,
82
+ error_type: clientError.getError().type
83
+ },
84
+ type: _types.METRIC_TYPE.BEHAVIORAL
85
+ };
86
+ metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, clientError);
87
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION_ERROR, expectedData);
88
+ });
89
+ it('submit unknown registration metric', function () {
90
+ var logSpy = jest.spyOn(_Logger.default, 'warn');
91
+ metricManager.submitRegistrationMetric('invalidMetricName', _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.OPERATIONAL);
92
+ expect(mockSubmitClientMetric).not.toBeCalled();
93
+ expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
94
+ file: 'metric',
95
+ method: 'submitRegistrationMetric'
96
+ });
97
+ });
98
+ });
99
+ describe('Call Metric tests', function () {
100
+ beforeAll(function () {
101
+ metricManager.setDeviceInfo(mockDeviceInfo);
102
+ });
103
+ it('submit call success metric', function () {
104
+ var expectedData = {
105
+ tags: {
106
+ action: mockCallAction,
107
+ device_id: mockDeviceInfo.device.deviceId,
108
+ service_indicator: _types3.ServiceIndicator.CALLING
109
+ },
110
+ fields: {
111
+ device_url: mockDeviceInfo.device.clientDeviceUri,
112
+ mobius_url: mockDeviceInfo.device.uri,
113
+ calling_sdk_version: _constants.VERSION,
114
+ call_id: mockCallId,
115
+ correlation_id: mockCorrelationId
116
+ },
117
+ type: _types.METRIC_TYPE.BEHAVIORAL
118
+ };
119
+ metricManager.submitCallMetric(_types.METRIC_EVENT.CALL, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
120
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.CALL, expectedData);
121
+ });
122
+ it('submit call failure metric', function () {
123
+ var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.CALL_CONTROL);
124
+ var err = {};
125
+ err.context = {};
126
+ err.message = 'An invalid status update has been received for the call. Wait a moment and try again.';
127
+ err.type = _types2.ERROR_TYPE.FORBIDDEN_ERROR;
128
+ callError.setCallError(err);
129
+ var expectedData = {
130
+ tags: {
131
+ action: mockCallAction,
132
+ device_id: mockDeviceInfo.device.deviceId,
133
+ service_indicator: _types3.ServiceIndicator.CALLING
134
+ },
135
+ fields: {
136
+ device_url: mockDeviceInfo.device.clientDeviceUri,
137
+ mobius_url: mockDeviceInfo.device.uri,
138
+ calling_sdk_version: _constants.VERSION,
139
+ call_id: mockCallId,
140
+ correlation_id: mockCorrelationId,
141
+ error: callError.getCallError().message,
142
+ error_type: callError.getCallError().type
143
+ },
144
+ type: _types.METRIC_TYPE.BEHAVIORAL
145
+ };
146
+ metricManager.submitCallMetric(_types.METRIC_EVENT.CALL_ERROR, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, callError);
147
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.CALL_ERROR, expectedData);
148
+ });
149
+ it('submit unknown call metric', function () {
150
+ var logSpy = jest.spyOn(_Logger.default, 'warn');
151
+ metricManager.submitCallMetric('invalidMetricName', mockCallAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId);
152
+ expect(mockSubmitClientMetric).not.toBeCalled();
153
+ expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
154
+ file: 'metric',
155
+ method: 'submitCallMetric'
156
+ });
157
+ });
158
+ });
159
+ describe('Media Metric tests', function () {
160
+ var mockSdp = 'sdpInformation';
161
+ beforeAll(function () {
162
+ metricManager.setDeviceInfo(mockDeviceInfo);
163
+ });
164
+ it('submit media success metric', function () {
165
+ var expectedData = {
166
+ tags: {
167
+ action: mockMediaAction,
168
+ device_id: mockDeviceInfo.device.deviceId,
169
+ service_indicator: _types3.ServiceIndicator.CALLING
170
+ },
171
+ fields: {
172
+ device_url: mockDeviceInfo.device.clientDeviceUri,
173
+ mobius_url: mockDeviceInfo.device.uri,
174
+ calling_sdk_version: _constants.VERSION,
175
+ call_id: mockCallId,
176
+ correlation_id: mockCorrelationId,
177
+ local_media_details: mockSdp,
178
+ remote_media_details: mockSdp
179
+ },
180
+ type: _types.METRIC_TYPE.BEHAVIORAL
181
+ };
182
+ metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
183
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA, expectedData);
184
+ });
185
+ it('submit media failure metric', function () {
186
+ var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.MEDIA);
187
+ var err = {};
188
+ err.context = {};
189
+ err.message = 'An error occurred while parsing the provided information. Wait a moment and try again.';
190
+ err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
191
+ callError.setCallError(err);
192
+ var expectedData = {
193
+ tags: {
194
+ action: mockMediaAction,
195
+ device_id: mockDeviceInfo.device.deviceId,
196
+ service_indicator: _types3.ServiceIndicator.CALLING
197
+ },
198
+ fields: {
199
+ device_url: mockDeviceInfo.device.clientDeviceUri,
200
+ mobius_url: mockDeviceInfo.device.uri,
201
+ calling_sdk_version: _constants.VERSION,
202
+ call_id: mockCallId,
203
+ correlation_id: mockCorrelationId,
204
+ local_media_details: mockSdp,
205
+ remote_media_details: mockSdp,
206
+ error: callError.getCallError().message,
207
+ error_type: callError.getCallError().type
208
+ },
209
+ type: _types.METRIC_TYPE.BEHAVIORAL
210
+ };
211
+ metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA_ERROR, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp, callError);
212
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA_ERROR, expectedData);
213
+ });
214
+ it('submit unknown media metric', function () {
215
+ var logSpy = jest.spyOn(_Logger.default, 'warn');
216
+ metricManager.submitMediaMetric('invalidMetricName', mockMediaAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
217
+ expect(mockSubmitClientMetric).not.toBeCalled();
218
+ expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
219
+ file: 'metric',
220
+ method: 'submitMediaMetric'
221
+ });
222
+ });
223
+ });
224
+ describe('Voicemail metric tests', function () {
225
+ beforeAll(function () {
226
+ return metricManager.setDeviceInfo(mockDeviceInfo);
227
+ });
228
+ it('submit voicemail success metric', function () {
229
+ var expectedData1 = {
230
+ tags: {
231
+ action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
232
+ device_id: mockDeviceInfo.device.deviceId
233
+ },
234
+ fields: {
235
+ device_url: mockDeviceInfo.device.clientDeviceUri,
236
+ calling_sdk_version: _constants.VERSION
237
+ },
238
+ type: _types.METRIC_TYPE.BEHAVIORAL
239
+ };
240
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
241
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData1);
242
+ mockSubmitClientMetric.mockClear();
243
+ var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
244
+ tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
245
+ message_id: 'messageId',
246
+ action: _types.VOICEMAIL_ACTION.DELETE
247
+ })
248
+ });
249
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId');
250
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData2);
251
+ });
252
+ it('submit voicemail failure metric', function () {
253
+ var errorMessage = 'User is not authenticated';
254
+ var expectedData1 = {
255
+ tags: {
256
+ action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
257
+ device_id: mockDeviceInfo.device.deviceId,
258
+ message_id: undefined,
259
+ error: errorMessage,
260
+ status_code: 401
261
+ },
262
+ fields: {
263
+ device_url: mockDeviceInfo.device.clientDeviceUri,
264
+ calling_sdk_version: _constants.VERSION
265
+ },
266
+ type: _types.METRIC_TYPE.BEHAVIORAL
267
+ };
268
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL, undefined, errorMessage, 401);
269
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);
270
+ mockSubmitClientMetric.mockClear();
271
+ var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
272
+ tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
273
+ message_id: 'messageId',
274
+ action: _types.VOICEMAIL_ACTION.DELETE
275
+ })
276
+ });
277
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId', errorMessage, 401);
278
+ expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);
279
+ });
280
+ it('submit unknown voicemail metric', function () {
281
+ var logSpy = jest.spyOn(_Logger.default, 'warn');
282
+ metricManager.submitVoicemailMetric('invalidMetricName', _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
283
+ expect(mockSubmitClientMetric).not.toBeCalled();
284
+ expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
285
+ file: 'metric',
286
+ method: 'submitVoicemailMetric'
287
+ });
288
+ });
289
+ });
290
+ });
291
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","mockSubmitClientMetric","jest","fn","internal","metrics","submitClientMetrics","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","VERSION","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","MobiusStatus","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","logSpy","spyOn","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","undefined","status_code","VOICEMAIL_ERROR"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION} from './types';\nimport {VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {MobiusStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const mockSubmitClientMetric = jest.fn();\n\n webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n mockSubmitClientMetric.mockClear();\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError('', {}, ERROR_TYPE.DEFAULT, MobiusStatus.DEFAULT);\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n clientError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData1\n );\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData2\n );\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n});\n"],"mappings":";;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAA4D,SAAAU,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,YAAA,CAAAH,MAAA,OAAAI,6BAAA,QAAAC,OAAA,GAAAD,6BAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAC,gCAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAmB,MAAA,CAAAD,MAAA,OAAAE,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAT,MAAA,EAAAO,GAAA,EAAAH,MAAA,CAAAG,GAAA,SAAAG,iCAAA,GAAAC,wBAAA,CAAAX,MAAA,EAAAU,iCAAA,CAAAN,MAAA,KAAAlB,OAAA,CAAAmB,MAAA,CAAAD,MAAA,GAAAE,OAAA,WAAAC,GAAA,IAAAK,sBAAA,CAAAZ,MAAA,EAAAO,GAAA,EAAAZ,gCAAA,CAAAS,MAAA,EAAAG,GAAA,iBAAAP,MAAA;AAE5D,IAAMa,KAAK,GAAG,IAAAC,2BAAiB,GAAE;AAEjCC,QAAQ,CAAC,uBAAuB,EAAE,YAAM;EACtC,IAAMC,aAAa,GAAG,IAAAC,uBAAgB,EAACJ,KAAK,EAAEK,wBAAgB,CAACC,OAAO,CAAC;EACvE,IAAMC,cAAc,GAAG,IAAAC,2BAAiB,GAAE;EAC1C,IAAMC,sBAAsB,GAAGC,IAAI,CAACC,EAAE,EAAE;EAExCX,KAAK,CAACY,QAAQ,CAACC,OAAO,CAACC,mBAAmB,GAAGL,sBAAsB;EAEnE,IAAMM,UAAU,GAAG,QAAQ;EAC3B,IAAMC,iBAAiB,GAAG,SAAS;EACnC,IAAMC,cAAc,GAAG,mBAAmB;EAC1C,IAAMC,eAAe,GAAG,mBAAmB;EAE3CC,UAAU,CAAC,YAAM;IACfV,sBAAsB,CAACW,SAAS,EAAE;EACpC,CAAC,CAAC;EAEFC,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACpCC,MAAM,CAACnB,aAAa,CAAC,CAACoB,GAAG,CAACC,QAAQ,EAAE;IACpCF,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACsB,aAAa,EAAE;EACrD,CAAC,CAAC;EAEFJ,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC9CC,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACsB,aAAa,EAAE;IACnDtB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC3Ce,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACwB,OAAO,CAACpB,cAAc,CAAC;EAC7D,CAAC,CAAC;EAEFL,QAAQ,CAAC,4BAA4B,EAAE,YAAM;IAC3CmB,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7ClB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;MAE3C,IAAMqB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC4C,wBAAwB,CACpCC,mBAAY,CAACC,YAAY,EACzBlB,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACC,UAAU,CACvB;MACDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACC,YAAY,EAAErB,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7ClB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;MAE3C,IAAM4C,WAAW,GAAG,IAAAC,qCAAiB,EAAC,EAAE,EAAE,CAAC,CAAC,EAAEC,kBAAU,CAACC,OAAO,EAAEC,oBAAY,CAACD,OAAO,CAAC;MACvF,IAAME,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAACM,mBAAmB;MAEzCR,WAAW,CAACS,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5BkB,KAAK,EAAEV,WAAW,CAACW,QAAQ,EAAE,CAACJ,OAAO;UACrCK,UAAU,EAAEZ,WAAW,CAACW,QAAQ,EAAE,CAAClB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC4C,wBAAwB,CACpCC,mBAAY,CAACgB,kBAAkB,EAC/BjC,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACC,UAAU,EACtBK,WAAW,CACZ;MACD7B,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACgB,kBAAkB,EAC/BpC,YAAY,CACb;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAAC4C,wBAAwB,CACpC,mBAAmB,EACnBhB,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACuB,WAAW,CACxB;MAED9C,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,mBAAmB,EAAE,YAAM;IAClCsE,SAAS,CAAC,YAAM;MACdrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFc,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,cAAc;UACtBgB,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D;QAClB,CAAC;QACD4B,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACwE,gBAAgB,CAC5B3B,mBAAY,CAAC4B,IAAI,EACjB3D,cAAc,EACd4B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,CAClB;MACDM,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC4B,IAAI,EAAEhD,YAAY,CAAC;IACpF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMwD,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACFzB,kBAAU,CAACC,OAAO,EAClBtC,iBAAiB,EACjB+D,mBAAW,CAACC,YAAY,CACzB;MAED,IAAMxB,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,uFAAuF;MACzFF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAAC4B,eAAe;MAErCJ,SAAS,CAACK,YAAY,CAAC1B,GAAG,CAAC;MAE3B,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,cAAc;UACtBgB,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjC6C,KAAK,EAAEgB,SAAS,CAACM,YAAY,EAAE,CAACzB,OAAO;UACvCK,UAAU,EAAEc,SAAS,CAACM,YAAY,EAAE,CAACvC;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACwE,gBAAgB,CAC5B3B,mBAAY,CAACoC,UAAU,EACvBnE,cAAc,EACd4B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjB6D,SAAS,CACV;MACDvD,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACoC,UAAU,EAAExD,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAACwE,gBAAgB,CAC5B,mBAAmB,EACnB1D,cAAc,EACd4B,kBAAW,CAACuB,WAAW,EACvBrD,UAAU,EACVC,iBAAiB,CAClB;MAEDM,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,oBAAoB,EAAE,YAAM;IACnC,IAAMmF,OAAO,GAAG,gBAAgB;IAEhCb,SAAS,CAAC,YAAM;MACdrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFc,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEZ,eAAe;UACvBe,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjCsE,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF;QACxB,CAAC;QACDzC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACqF,iBAAiB,CAC7BxC,mBAAY,CAACyC,KAAK,EAClBvE,eAAe,EACf2B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,CACR;MACD/D,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACyC,KAAK,EAAE7D,YAAY,CAAC;IACrF,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMwD,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACFzB,kBAAU,CAACC,OAAO,EAClBtC,iBAAiB,EACjB+D,mBAAW,CAACU,KAAK,CAClB;MAED,IAAMjC,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,wFAAwF;MAC1FF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAACM,mBAAmB;MAEzCkB,SAAS,CAACK,YAAY,CAAC1B,GAAG,CAAC;MAE3B,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEZ,eAAe;UACvBe,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjCsE,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF,OAAO;UAC7BxB,KAAK,EAAEgB,SAAS,CAACM,YAAY,EAAE,CAACzB,OAAO;UACvCK,UAAU,EAAEc,SAAS,CAACM,YAAY,EAAE,CAACvC;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACqF,iBAAiB,CAC7BxC,mBAAY,CAAC0C,WAAW,EACxBxE,eAAe,EACf2B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,EACPR,SAAS,CACV;MACDvD,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC0C,WAAW,EAAE9D,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAACqF,iBAAiB,CAC7B,mBAAmB,EACnBtE,eAAe,EACf2B,kBAAW,CAACuB,WAAW,EACvBrD,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,CACR;MAED/D,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,wBAAwB,EAAE,YAAM;IACvCsE,SAAS,CAAC;MAAA,OAAMrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAAA,EAAC;IAE5Dc,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMsE,aAAa,GAAG;QACpB9D,IAAI,EAAE;UACJC,MAAM,EAAE8D,uBAAgB,CAACC,cAAc;UACvC5D,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC;QACnC,CAAC;QACDE,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAAC+C,SAAS,EACtBH,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,CACvB;MACDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC+C,SAAS,EAAEJ,aAAa,CAAC;MAExFlF,sBAAsB,CAACW,SAAS,EAAE;MAElC,IAAM4E,aAAa,GAAA9G,aAAA,CAAAA,aAAA,KACdyG,aAAa;QAChB9D,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMyG,aAAa,CAAC9D,IAAI;UAAEoE,UAAU,EAAE,WAAW;UAAEnE,MAAM,EAAE8D,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/F,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAAC+C,SAAS,EACtBH,uBAAgB,CAACM,MAAM,EACvBrD,kBAAW,CAACC,UAAU,EACtB,WAAW,CACZ;MAEDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC+C,SAAS,EAAEC,aAAa,CAAC;IAC1F,CAAC,CAAC;IAEF3E,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM8E,YAAY,GAAG,2BAA2B;MAChD,IAAMR,aAAa,GAAG;QACpB9D,IAAI,EAAE;UACJC,MAAM,EAAE8D,uBAAgB,CAACC,cAAc;UACvC5D,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzC8D,UAAU,EAAEG,SAAS;UACrBvC,KAAK,EAAEsC,YAAY;UACnBE,WAAW,EAAE;QACf,CAAC;QACDhE,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAACsD,eAAe,EAC5BV,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,EACtBsD,SAAS,EACTD,YAAY,EACZ,GAAG,CACJ;MACD7E,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACsD,eAAe,EAC5BX,aAAa,CACd;MAEDlF,sBAAsB,CAACW,SAAS,EAAE;MAElC,IAAM4E,aAAa,GAAA9G,aAAA,CAAAA,aAAA,KACdyG,aAAa;QAChB9D,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMyG,aAAa,CAAC9D,IAAI;UAAEoE,UAAU,EAAE,WAAW;UAAEnE,MAAM,EAAE8D,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/F,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAACsD,eAAe,EAC5BV,uBAAgB,CAACM,MAAM,EACvBrD,kBAAW,CAACC,UAAU,EACtB,WAAW,EACXqD,YAAY,EACZ,GAAG,CACJ;MAED7E,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACsD,eAAe,EAC5BN,aAAa,CACd;IACH,CAAC,CAAC;IAEF3E,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAAC2F,qBAAqB,CACjC,mBAAmB,EACnBF,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,CACvB;MAEDxB,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.VOICEMAIL_ACTION = exports.TRANSFER_ACTION = exports.REG_ACTION = exports.METRIC_TYPE = exports.METRIC_EVENT = void 0;
8
+ var METRIC_TYPE;
9
+ exports.METRIC_TYPE = METRIC_TYPE;
10
+ (function (METRIC_TYPE) {
11
+ METRIC_TYPE["OPERATIONAL"] = "operational";
12
+ METRIC_TYPE["BEHAVIORAL"] = "behavioral";
13
+ })(METRIC_TYPE || (exports.METRIC_TYPE = METRIC_TYPE = {}));
14
+ var METRIC_EVENT;
15
+ exports.METRIC_EVENT = METRIC_EVENT;
16
+ (function (METRIC_EVENT) {
17
+ METRIC_EVENT["CALL"] = "web-calling-sdk-callcontrol";
18
+ METRIC_EVENT["CALL_ERROR"] = "web-calling-sdk-callcontrol-error";
19
+ METRIC_EVENT["MEDIA"] = "web-calling-sdk-media";
20
+ METRIC_EVENT["MEDIA_ERROR"] = "web-calling-sdk-media-error";
21
+ METRIC_EVENT["REGISTRATION"] = "web-calling-sdk-registration";
22
+ METRIC_EVENT["REGISTRATION_ERROR"] = "web-calling-sdk-registration-error";
23
+ METRIC_EVENT["VOICEMAIL"] = "web-calling-sdk-voicemail";
24
+ METRIC_EVENT["VOICEMAIL_ERROR"] = "web-calling-sdk-voicemail-error";
25
+ })(METRIC_EVENT || (exports.METRIC_EVENT = METRIC_EVENT = {}));
26
+ var REG_ACTION;
27
+ exports.REG_ACTION = REG_ACTION;
28
+ (function (REG_ACTION) {
29
+ REG_ACTION["REGISTER"] = "register";
30
+ REG_ACTION["DEREGISTER"] = "deregister";
31
+ REG_ACTION["KEEPALIVE_FAILURE"] = "keepaliveFailure";
32
+ })(REG_ACTION || (exports.REG_ACTION = REG_ACTION = {}));
33
+ var TRANSFER_ACTION;
34
+ exports.TRANSFER_ACTION = TRANSFER_ACTION;
35
+ (function (TRANSFER_ACTION) {
36
+ TRANSFER_ACTION["BLIND"] = "TRANSFER_BLIND";
37
+ TRANSFER_ACTION["CONSULT"] = "TRANSFER_CONSULT";
38
+ })(TRANSFER_ACTION || (exports.TRANSFER_ACTION = TRANSFER_ACTION = {}));
39
+ var VOICEMAIL_ACTION;
40
+ exports.VOICEMAIL_ACTION = VOICEMAIL_ACTION;
41
+ (function (VOICEMAIL_ACTION) {
42
+ VOICEMAIL_ACTION["GET_VOICEMAILS"] = "get_voicemails";
43
+ VOICEMAIL_ACTION["GET_VOICEMAIL_CONTENT"] = "get_voicemail_content";
44
+ VOICEMAIL_ACTION["GET_VOICEMAIL_SUMMARY"] = "get_voicemail_summary";
45
+ VOICEMAIL_ACTION["MARK_READ"] = "mark_read";
46
+ VOICEMAIL_ACTION["MARK_UNREAD"] = "mark_unread";
47
+ VOICEMAIL_ACTION["DELETE"] = "delete";
48
+ VOICEMAIL_ACTION["TRANSCRIPT"] = "transcript";
49
+ })(VOICEMAIL_ACTION || (exports.VOICEMAIL_ACTION = VOICEMAIL_ACTION = {}));
50
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["METRIC_TYPE","exports","METRIC_EVENT","REG_ACTION","TRANSFER_ACTION","VOICEMAIL_ACTION"],"sources":["types.ts"],"sourcesContent":["import {LineError} from '../Errors/catalog/LineError';\nimport {CallError, CallingClientError} from '../Errors';\nimport {CallId, CorrelationId, IDeviceInfo} from '../common/types';\n\nexport enum METRIC_TYPE {\n OPERATIONAL = 'operational',\n BEHAVIORAL = 'behavioral',\n}\n\nexport enum METRIC_EVENT {\n CALL = 'web-calling-sdk-callcontrol',\n CALL_ERROR = 'web-calling-sdk-callcontrol-error',\n MEDIA = 'web-calling-sdk-media',\n MEDIA_ERROR = 'web-calling-sdk-media-error',\n REGISTRATION = 'web-calling-sdk-registration',\n REGISTRATION_ERROR = 'web-calling-sdk-registration-error',\n VOICEMAIL = 'web-calling-sdk-voicemail',\n VOICEMAIL_ERROR = 'web-calling-sdk-voicemail-error',\n}\n\nexport enum REG_ACTION {\n REGISTER = 'register',\n DEREGISTER = 'deregister',\n KEEPALIVE_FAILURE = 'keepaliveFailure',\n}\n\nexport enum TRANSFER_ACTION {\n BLIND = 'TRANSFER_BLIND',\n CONSULT = 'TRANSFER_CONSULT',\n}\n\nexport enum VOICEMAIL_ACTION {\n GET_VOICEMAILS = 'get_voicemails',\n GET_VOICEMAIL_CONTENT = 'get_voicemail_content',\n GET_VOICEMAIL_SUMMARY = 'get_voicemail_summary',\n MARK_READ = 'mark_read',\n MARK_UNREAD = 'mark_unread',\n DELETE = 'delete',\n TRANSCRIPT = 'transcript',\n}\n\nexport interface IMetricManager {\n setDeviceInfo: (deviceInfo: IDeviceInfo) => void;\n submitRegistrationMetric: (\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n error: LineError | CallingClientError | undefined\n ) => void;\n submitCallMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) => void;\n submitMediaMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) => void;\n submitVoicemailMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) => void;\n}\n"],"mappings":";;;;;;;IAIYA,WAAW;AAAAC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,WAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAAC,OAAA,CAAAD,WAAA,GAAXA,WAAW;AAAA,IAKXE,YAAY;AAAAD,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAAA,WAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAAD,OAAA,CAAAC,YAAA,GAAZA,YAAY;AAAA,IAWZC,UAAU;AAAAF,OAAA,CAAAE,UAAA,GAAAA,UAAA;AAAA,WAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;AAAA,GAAVA,UAAU,KAAAF,OAAA,CAAAE,UAAA,GAAVA,UAAU;AAAA,IAMVC,eAAe;AAAAH,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAH,OAAA,CAAAG,eAAA,GAAfA,eAAe;AAAA,IAKfC,gBAAgB;AAAAJ,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AAAA,WAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAAJ,OAAA,CAAAI,gBAAA,GAAhBA,gBAAgB"}
@@ -0,0 +1,105 @@
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.default = void 0;
9
+ var _freeze = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/freeze"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
+ var _utils = require("./utils");
13
+ /* eslint-disable valid-jsdoc */
14
+
15
+ /* eslint-disable class-methods-use-this */
16
+
17
+ var instance;
18
+ var webex;
19
+
20
+ /**
21
+ *
22
+ */
23
+ var SDKConnector = /*#__PURE__*/function () {
24
+ function SDKConnector() {
25
+ (0, _classCallCheck2.default)(this, SDKConnector);
26
+ }
27
+ (0, _createClass2.default)(SDKConnector, [{
28
+ key: "setWebex",
29
+ value:
30
+ /**
31
+ * @param webexInstance - TODO.
32
+ */
33
+ function setWebex(webexInstance) {
34
+ if (instance) {
35
+ throw new Error('You cannot set the SDKConnector instance more than once'); // TODO: format log messages and customize Error Object
36
+ }
37
+
38
+ var _validateWebex = (0, _utils.validateWebex)(webexInstance),
39
+ error = _validateWebex.error,
40
+ success = _validateWebex.success;
41
+ if (error) {
42
+ throw error;
43
+ } else if (success) {
44
+ webex = webexInstance; // TODO: Object.freeze to prevent changes? That might break the reference chain though
45
+ } else {
46
+ throw new Error('An unknown error occurred setting up the webex instance.');
47
+ }
48
+
49
+ /* eslint-disable @typescript-eslint/no-this-alias */
50
+ instance = this;
51
+ }
52
+
53
+ /**
54
+ *
55
+ */
56
+ }, {
57
+ key: "get",
58
+ value: function get() {
59
+ return instance;
60
+ }
61
+
62
+ /**
63
+ *
64
+ */
65
+ }, {
66
+ key: "getWebex",
67
+ value: function getWebex() {
68
+ return webex;
69
+ }
70
+
71
+ /**
72
+ * @param request - TODO.
73
+ */
74
+ }, {
75
+ key: "request",
76
+ value: function request(_request) {
77
+ return instance.getWebex().request(_request);
78
+ }
79
+
80
+ /**
81
+ * @param event - TODO.
82
+ * @param cb - TODO.
83
+ */
84
+ }, {
85
+ key: "registerListener",
86
+ value: function registerListener(event, cb) {
87
+ instance.getWebex().internal.mercury.on(event, function (data) {
88
+ cb(data);
89
+ });
90
+ }
91
+
92
+ /**
93
+ * @param event - TODO.
94
+ */
95
+ }, {
96
+ key: "unregisterListener",
97
+ value: function unregisterListener(event) {
98
+ instance.getWebex().internal.mercury.off(event);
99
+ }
100
+ }]);
101
+ return SDKConnector;
102
+ }();
103
+ var _default = (0, _freeze.default)(new SDKConnector()); // TODO: remove freeze?
104
+ exports.default = _default;
105
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","instance","webex","SDKConnector","_classCallCheck2","default","_createClass2","key","value","setWebex","webexInstance","Error","_validateWebex","validateWebex","error","success","get","getWebex","request","registerListener","event","cb","internal","mercury","on","data","unregisterListener","off","_default","_freeze","exports"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {WebexRequestPayload} from '../common/types';\nimport {ISDKConnector, WebexSDK} from './types';\n/* eslint-disable class-methods-use-this */\nimport {validateWebex} from './utils';\n\nlet instance: ISDKConnector;\nlet webex: WebexSDK;\n\n/**\n *\n */\nclass SDKConnector implements ISDKConnector {\n /**\n * @param webexInstance - TODO.\n */\n public setWebex(webexInstance: WebexSDK): void {\n if (instance) {\n throw new Error('You cannot set the SDKConnector instance more than once'); // TODO: format log messages and customize Error Object\n }\n const {error, success} = validateWebex(webexInstance);\n\n if (error) {\n throw error;\n } else if (success) {\n webex = webexInstance; // TODO: Object.freeze to prevent changes? That might break the reference chain though\n } else {\n throw new Error('An unknown error occurred setting up the webex instance.');\n }\n\n /* eslint-disable @typescript-eslint/no-this-alias */\n instance = this;\n }\n\n /**\n *\n */\n public get(): ISDKConnector {\n return instance;\n }\n\n /**\n *\n */\n public getWebex(): WebexSDK {\n return webex;\n }\n\n /**\n * @param request - TODO.\n */\n public request<T>(request: WebexRequestPayload): Promise<T> {\n return instance.getWebex().request(request);\n }\n\n /**\n * @param event - TODO.\n * @param cb - TODO.\n */\n public registerListener<T>(event: string, cb: (data?: T) => void): void {\n instance.getWebex().internal.mercury.on(event, (data: T) => {\n cb(data);\n });\n }\n\n /**\n * @param event - TODO.\n */\n public unregisterListener(event: string): void {\n instance.getWebex().internal.mercury.off(event);\n }\n}\n\nexport default Object.freeze(new SDKConnector()); // TODO: remove freeze?\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAJA;;AAGA;;AAGA,IAAIC,QAAuB;AAC3B,IAAIC,KAAe;;AAEnB;AACA;AACA;AAFA,IAGMC,YAAY;EAAA,SAAAA,aAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,YAAA;EAAA;EAAA,IAAAG,aAAA,CAAAD,OAAA,EAAAF,YAAA;IAAAI,GAAA;IAAAC,KAAA;IAChB;AACF;AACA;IACE,SAAAC,SAAgBC,aAAuB,EAAQ;MAC7C,IAAIT,QAAQ,EAAE;QACZ,MAAM,IAAIU,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;MAC9E;;MACA,IAAAC,cAAA,GAAyB,IAAAC,oBAAa,EAACH,aAAa,CAAC;QAA9CI,KAAK,GAAAF,cAAA,CAALE,KAAK;QAAEC,OAAO,GAAAH,cAAA,CAAPG,OAAO;MAErB,IAAID,KAAK,EAAE;QACT,MAAMA,KAAK;MACb,CAAC,MAAM,IAAIC,OAAO,EAAE;QAClBb,KAAK,GAAGQ,aAAa,CAAC,CAAC;MACzB,CAAC,MAAM;QACL,MAAM,IAAIC,KAAK,CAAC,0DAA0D,CAAC;MAC7E;;MAEA;MACAV,QAAQ,GAAG,IAAI;IACjB;;IAEA;AACF;AACA;EAFE;IAAAM,GAAA;IAAAC,KAAA,EAGA,SAAAQ,IAAA,EAA4B;MAC1B,OAAOf,QAAQ;IACjB;;IAEA;AACF;AACA;EAFE;IAAAM,GAAA;IAAAC,KAAA,EAGA,SAAAS,SAAA,EAA4B;MAC1B,OAAOf,KAAK;IACd;;IAEA;AACF;AACA;EAFE;IAAAK,GAAA;IAAAC,KAAA,EAGA,SAAAU,QAAkBA,QAA4B,EAAc;MAC1D,OAAOjB,QAAQ,CAACgB,QAAQ,EAAE,CAACC,OAAO,CAACA,QAAO,CAAC;IAC7C;;IAEA;AACF;AACA;AACA;EAHE;IAAAX,GAAA;IAAAC,KAAA,EAIA,SAAAW,iBAA2BC,KAAa,EAAEC,EAAsB,EAAQ;MACtEpB,QAAQ,CAACgB,QAAQ,EAAE,CAACK,QAAQ,CAACC,OAAO,CAACC,EAAE,CAACJ,KAAK,EAAE,UAACK,IAAO,EAAK;QAC1DJ,EAAE,CAACI,IAAI,CAAC;MACV,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAAlB,GAAA;IAAAC,KAAA,EAGA,SAAAkB,mBAA0BN,KAAa,EAAQ;MAC7CnB,QAAQ,CAACgB,QAAQ,EAAE,CAACK,QAAQ,CAACC,OAAO,CAACI,GAAG,CAACP,KAAK,CAAC;IACjD;EAAC;EAAA,OAAAjB,YAAA;AAAA;AAAA,IAAAyB,QAAA,GAGY,IAAAC,OAAA,CAAAxB,OAAA,EAAc,IAAIF,YAAY,EAAE,CAAC,EAAE;AAAA2B,OAAA,CAAAzB,OAAA,GAAAuB,QAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _chai = require("chai");
4
+ describe('SDkConnector', function () {
5
+ it('TODO', function () {
6
+ (0, _chai.expect)(true).to.eq(true);
7
+ });
8
+ });
9
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","require","describe","it","expect","to","eq"],"sources":["index.test.ts"],"sourcesContent":["import {expect} from 'chai';\n\ndescribe('SDkConnector', () => {\n it('TODO', () => {\n expect(true).to.eq(true);\n });\n});\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,cAAc,EAAE,YAAM;EAC7BC,EAAE,CAAC,MAAM,EAAE,YAAM;IACf,IAAAC,YAAM,EAAC,IAAI,CAAC,CAACC,EAAE,CAACC,EAAE,CAAC,IAAI,CAAC;EAC1B,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {\n DSSLookupResponse,\n KmsKey,\n KmsResourceObject,\n LookupOptions,\n PeopleListResponse,\n WebexRequestPayload,\n} from '../common/types';\n/* eslint-disable no-shadow */\n\ntype Listener = (e: string, data?: unknown) => void;\ntype ListenerOff = (e: string) => void;\n\nexport type ServiceHost = {\n host: string;\n ttl: number;\n priority: number;\n id: string;\n homeCluster: boolean;\n};\n\nexport type Model = {\n _values: {\n key: string;\n };\n};\n\nexport type ServiceCatalog = {\n serviceGroups: {\n // cSpell:disable\n postauth: [\n {\n _values: {\n name: string;\n hosts: ServiceHost[];\n };\n }\n ];\n /* cSpell:enable */\n };\n};\n\nexport type ClientRegionInfo = {\n attribution: string;\n clientAddress: string;\n clientRegion: string;\n countryCode: string;\n disclaimer: string;\n regionCode: string;\n timezone: string;\n};\n\n// TODO: is there a way to import bindings from the Webex JS SDK without having to redefine expected methods and structure?\n// This defines the shape for the webex SDK, if a typing doesn't exist, it should be added here\nexport interface WebexSDK {\n // top level primitives/funcs\n version: string;\n canAuthorize: boolean;\n credentials: {\n getUserToken: () => Promise<string>;\n };\n ready: boolean;\n request: <T>(payload: WebexRequestPayload) => Promise<T>;\n // internal plugins\n internal: {\n mercury: {\n on: Listener;\n off: ListenerOff;\n connected: boolean;\n connecting: boolean;\n };\n calendar: unknown;\n device: {\n url: string;\n userId: string;\n orgId: string;\n version: string;\n callingBehavior: string;\n features: {\n entitlement: {\n models: Model[];\n };\n };\n };\n dss: {\n lookup: (options: LookupOptions) => Promise<DSSLookupResponse[]>;\n };\n encryption: {\n decryptText: (encryptionKeyUrl: string, encryptedData?: string) => Promise<string>;\n encryptText: (encryptionKeyUrl: string, text?: string) => Promise<string>;\n kms: {\n createUnboundKeys: (arg0: {count?: number}) => Promise<KmsKey[]>;\n createResource: (arg0: {keyUris: string[]}) => Promise<KmsResourceObject>;\n bindKey: (arg0: {kroUri: string; keyUri: string}) => Promise<KmsKey>;\n };\n };\n presence: unknown;\n support: unknown;\n services: {\n _serviceUrls: {\n mobius: string;\n identity: string;\n janus: string;\n wdm: string;\n broadworksIdpProxy: string;\n hydra: string;\n mercuryApi: string;\n 'ucmgmt-gateway': string;\n contactsService: string;\n directorySearch: string;\n };\n fetchClientRegionInfo: () => Promise<ClientRegionInfo>;\n };\n metrics: {\n submitClientMetrics: (name: string, data: unknown) => void;\n };\n };\n // public plugins\n logger: {\n log: (payload: string) => void;\n error: (payload: string) => void;\n warn: (payload: string) => void;\n info: (payload: string) => void;\n trace: (payload: string) => void;\n debug: (payload: string) => void;\n };\n messages: unknown;\n memberships: unknown;\n people: {\n list: (arg: object) => Promise<PeopleListResponse>;\n };\n rooms: unknown;\n teams: unknown;\n}\n\nexport interface ISDKConnector {\n setWebex: (webexInstance: WebexSDK) => void;\n getWebex: () => WebexSDK;\n get: () => ISDKConnector;\n registerListener: <T>(event: string, cb: (data?: T) => unknown) => void;\n unregisterListener: (event: string) => void;\n}\n"],"mappings":""}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.validateWebex = void 0;
8
+ /* eslint-disable valid-jsdoc */
9
+
10
+ // TODO: add other cases necessary for fully qualified webex instance
11
+ // eslint-disable-next-line max-len
12
+ /**
13
+ * @param webexInstance - TODO.
14
+ */
15
+ var validateWebex = function validateWebex(webexInstance) {
16
+ if (webexInstance.canAuthorize) {
17
+ if (webexInstance.ready) {
18
+ if (webexInstance.internal.mercury) {
19
+ return {
20
+ error: undefined,
21
+ success: true
22
+ };
23
+ }
24
+ return {
25
+ error: new Error('webex.internal.mercury is not available'),
26
+ success: false
27
+ };
28
+ }
29
+ return {
30
+ error: new Error('webex.ready is not true'),
31
+ success: false
32
+ };
33
+ }
34
+ return {
35
+ error: new Error('webex.canAuthorize is not true'),
36
+ success: false
37
+ }; // TODO: change to error object
38
+ };
39
+ exports.validateWebex = validateWebex;
40
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateWebex","webexInstance","canAuthorize","ready","internal","mercury","error","undefined","success","Error","exports"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {WebexSDK} from './types';\n\n// TODO: add other cases necessary for fully qualified webex instance\n// eslint-disable-next-line max-len\n/**\n * @param webexInstance - TODO.\n */\nexport const validateWebex = (\n webexInstance: WebexSDK\n): {error: Error | undefined; success: boolean} => {\n if (webexInstance.canAuthorize) {\n if (webexInstance.ready) {\n if (webexInstance.internal.mercury) {\n return {error: undefined, success: true};\n }\n\n return {error: new Error('webex.internal.mercury is not available'), success: false};\n }\n\n return {error: new Error('webex.ready is not true'), success: false};\n }\n\n return {error: new Error('webex.canAuthorize is not true'), success: false}; // TODO: change to error object\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,aAAuB,EAC0B;EACjD,IAAIA,aAAa,CAACC,YAAY,EAAE;IAC9B,IAAID,aAAa,CAACE,KAAK,EAAE;MACvB,IAAIF,aAAa,CAACG,QAAQ,CAACC,OAAO,EAAE;QAClC,OAAO;UAACC,KAAK,EAAEC,SAAS;UAAEC,OAAO,EAAE;QAAI,CAAC;MAC1C;MAEA,OAAO;QAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,yCAAyC,CAAC;QAAED,OAAO,EAAE;MAAK,CAAC;IACtF;IAEA,OAAO;MAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,yBAAyB,CAAC;MAAED,OAAO,EAAE;IAAK,CAAC;EACtE;EAEA,OAAO;IAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,gCAAgC,CAAC;IAAED,OAAO,EAAE;EAAK,CAAC,CAAC,CAAC;AAC/E,CAAC;AAACE,OAAA,CAAAV,aAAA,GAAAA,aAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _chai = require("chai");
4
+ describe('SDkConnector Utils', function () {
5
+ it('TODO', function () {
6
+ (0, _chai.expect)(true).to.eq(true);
7
+ });
8
+ });
9
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","require","describe","it","expect","to","eq"],"sources":["utils.test.ts"],"sourcesContent":["import {expect} from 'chai';\n\ndescribe('SDkConnector Utils', () => {\n it('TODO', () => {\n expect(true).to.eq(true);\n });\n});\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACnCC,EAAE,CAAC,MAAM,EAAE,YAAM;IACf,IAAAC,YAAM,EAAC,IAAI,CAAC,CAACC,EAAE,CAACC,EAAE,CAAC,IAAI,CAAC;EAC1B,CAAC,CAAC;AACJ,CAAC,CAAC"}