@webex/calling 3.11.0 → 3.12.0

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 (188) hide show
  1. package/dist/CallHistory/CallHistory.js +596 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +916 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +650 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +38 -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 +311 -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 +308 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +597 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +31 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +68 -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 +1119 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +1266 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +101 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +275 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +275 -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 +3486 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +3612 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +460 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +741 -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 +74 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +143 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +243 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +332 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +327 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +21 -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 +1686 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +1885 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +36 -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/registration/webWorker.js +130 -0
  74. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  75. package/dist/CallingClient/registration/webWorker.test.js +303 -0
  76. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  77. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  78. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  79. package/dist/CallingClient/types.js +7 -0
  80. package/dist/CallingClient/types.js.map +1 -0
  81. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  82. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  83. package/dist/Contacts/ContactsClient.js +1206 -0
  84. package/dist/Contacts/ContactsClient.js.map +1 -0
  85. package/dist/Contacts/ContactsClient.test.js +1004 -0
  86. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  87. package/dist/Contacts/constants.js +40 -0
  88. package/dist/Contacts/constants.js.map +1 -0
  89. package/dist/Contacts/contactFixtures.js +430 -0
  90. package/dist/Contacts/contactFixtures.js.map +1 -0
  91. package/dist/Contacts/types.js +43 -0
  92. package/dist/Contacts/types.js.map +1 -0
  93. package/dist/Errors/catalog/CallError.js +89 -0
  94. package/dist/Errors/catalog/CallError.js.map +1 -0
  95. package/dist/Errors/catalog/CallingDeviceError.js +83 -0
  96. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  97. package/dist/Errors/catalog/ExtendedError.js +42 -0
  98. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  99. package/dist/Errors/catalog/LineError.js +85 -0
  100. package/dist/Errors/catalog/LineError.js.map +1 -0
  101. package/dist/Errors/index.js +28 -0
  102. package/dist/Errors/index.js.map +1 -0
  103. package/dist/Errors/types.js +59 -0
  104. package/dist/Errors/types.js.map +1 -0
  105. package/dist/Events/impl/index.js +79 -0
  106. package/dist/Events/impl/index.js.map +1 -0
  107. package/dist/Events/types.js +107 -0
  108. package/dist/Events/types.js.map +1 -0
  109. package/dist/Logger/index.js +228 -0
  110. package/dist/Logger/index.js.map +1 -0
  111. package/dist/Logger/index.test.js +87 -0
  112. package/dist/Logger/index.test.js.map +1 -0
  113. package/dist/Logger/types.js +34 -0
  114. package/dist/Logger/types.js.map +1 -0
  115. package/dist/Metrics/index.js +534 -0
  116. package/dist/Metrics/index.js.map +1 -0
  117. package/dist/Metrics/index.test.js +463 -0
  118. package/dist/Metrics/index.test.js.map +1 -0
  119. package/dist/Metrics/types.js +64 -0
  120. package/dist/Metrics/types.js.map +1 -0
  121. package/dist/SDKConnector/index.js +102 -0
  122. package/dist/SDKConnector/index.js.map +1 -0
  123. package/dist/SDKConnector/index.test.js +9 -0
  124. package/dist/SDKConnector/index.test.js.map +1 -0
  125. package/dist/SDKConnector/types.js +7 -0
  126. package/dist/SDKConnector/types.js.map +1 -0
  127. package/dist/SDKConnector/utils.js +39 -0
  128. package/dist/SDKConnector/utils.js.map +1 -0
  129. package/dist/SDKConnector/utils.test.js +9 -0
  130. package/dist/SDKConnector/utils.test.js.map +1 -0
  131. package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
  132. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  133. package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
  134. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  135. package/dist/Voicemail/UcmBackendConnector.js +628 -0
  136. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
  138. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/Voicemail.js +472 -0
  140. package/dist/Voicemail/Voicemail.js.map +1 -0
  141. package/dist/Voicemail/Voicemail.test.js +391 -0
  142. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  143. package/dist/Voicemail/WxCallBackendConnector.js +657 -0
  144. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  145. package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
  146. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  147. package/dist/Voicemail/constants.js +61 -0
  148. package/dist/Voicemail/constants.js.map +1 -0
  149. package/dist/Voicemail/types.js +7 -0
  150. package/dist/Voicemail/types.js.map +1 -0
  151. package/dist/Voicemail/voicemailFixture.js +524 -0
  152. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  153. package/dist/api.js +157 -0
  154. package/dist/api.js.map +1 -0
  155. package/dist/common/Utils.js +1483 -0
  156. package/dist/common/Utils.js.map +1 -0
  157. package/dist/common/Utils.test.js +1989 -0
  158. package/dist/common/Utils.test.js.map +1 -0
  159. package/dist/common/constants.js +62 -0
  160. package/dist/common/constants.js.map +1 -0
  161. package/dist/common/index.js +19 -0
  162. package/dist/common/index.js.map +1 -0
  163. package/dist/common/testUtil.js +983 -0
  164. package/dist/common/testUtil.js.map +1 -0
  165. package/dist/common/types.js +75 -0
  166. package/dist/common/types.js.map +1 -0
  167. package/dist/index.js +321 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/module/CallHistory/CallHistory.js +28 -17
  170. package/dist/module/CallingClient/CallingClient.js +43 -1
  171. package/dist/module/CallingClient/calling/call.js +3 -2
  172. package/dist/module/CallingClient/constants.js +2 -0
  173. package/dist/module/CallingClient/registration/register.js +8 -0
  174. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  175. package/dist/types/CallingClient/CallingClient.d.ts +2 -1
  176. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  177. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  178. package/dist/types/CallingClient/constants.d.ts +2 -0
  179. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  180. package/dist/types/CallingClient/registration/register.d.ts +2 -1
  181. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  182. package/dist/types/CallingClient/registration/types.d.ts +2 -1
  183. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  184. package/dist/types/CallingClient/types.d.ts +2 -1
  185. package/dist/types/CallingClient/types.d.ts.map +1 -1
  186. package/dist/types/common/types.d.ts +4 -0
  187. package/dist/types/common/types.d.ts.map +1 -1
  188. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_testUtil","require","_types","_constants","_types2","_WxCallBackendConnector","_CallSettings","_UcmBackendConnector","describe","webex","getTestUtilsWebex","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","callSettingsClient","_t","wrap","_context","prev","next","internal","device","features","models","_values","key","createCallSettingsClient","level","LOGGER","INFO","expect","toBeTruthy","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","WxCallBackendConnector","WXC","fail","toThrowError","stop","_x","apply","arguments"],"sources":["CallSettings.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\n\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {createCallSettingsClient} from './CallSettings';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\ndescribe('CallSettings Client tests', () => {\n const webex = getTestUtilsWebex();\n\n describe('createCallSettingsClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm CallSettings client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc CallSettings client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc CallSettings client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const callSettingsClient = createCallSettingsClient(webex, {level: LOGGER.INFO});\n\n expect(callSettingsClient).toBeTruthy();\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n } else {\n /* entitlement basic and standard */\n expect(callSettingsClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(callSettingsClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createCallSettingsClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,308 @@
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.UcmBackendConnector = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
11
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
16
+ var _Logger = _interopRequireDefault(require("../Logger"));
17
+ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
18
+ var _Utils = require("../common/Utils");
19
+ var _constants = require("../common/constants");
20
+ var _types = require("../common/types");
21
+ var _constants2 = require("./constants");
22
+ /**
23
+ * This Connector class will implement child interface of ICallSettings and
24
+ * has methods for the CCUC with UCM backend.
25
+ */
26
+ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function () {
27
+ /**
28
+ * @param useProdWebexApis - default value is true
29
+ */
30
+ function UcmBackendConnector(webex, logger) {
31
+ var useProdWebexApis = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
32
+ (0, _classCallCheck2.default)(this, UcmBackendConnector);
33
+ (0, _defineProperty2.default)(this, "sdkConnector", void 0);
34
+ (0, _defineProperty2.default)(this, "webex", void 0);
35
+ (0, _defineProperty2.default)(this, "userId", void 0);
36
+ (0, _defineProperty2.default)(this, "orgId", void 0);
37
+ (0, _defineProperty2.default)(this, "useProdWebexApis", void 0);
38
+ this.sdkConnector = _SDKConnector.default;
39
+ if (!this.sdkConnector.getWebex()) {
40
+ _SDKConnector.default.setWebex(webex);
41
+ }
42
+ this.webex = this.sdkConnector.getWebex();
43
+ _Logger.default.setLogger(logger.level, _constants.UCM_CONNECTOR_FILE);
44
+ this.userId = this.webex.internal.device.userId;
45
+ this.orgId = this.webex.internal.device.orgId;
46
+ this.useProdWebexApis = useProdWebexApis;
47
+ }
48
+
49
+ // Removed header caching to align with review: fetch per request instead.
50
+
51
+ /**
52
+ * Reads call waiting setting at the backend.
53
+ */
54
+ return (0, _createClass2.default)(UcmBackendConnector, [{
55
+ key: "getCallWaitingSetting",
56
+ value: function getCallWaitingSetting() {
57
+ var loggerContext = {
58
+ file: _constants.UCM_CONNECTOR_FILE,
59
+ method: _constants2.METHODS.GET_CALL_WAITING_SETTING
60
+ };
61
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
62
+ return this.getMethodNotSupportedResponse();
63
+ }
64
+
65
+ /**
66
+ * Reads DND setting at the backend.
67
+ */
68
+ }, {
69
+ key: "getDoNotDisturbSetting",
70
+ value: function getDoNotDisturbSetting() {
71
+ var loggerContext = {
72
+ file: _constants.UCM_CONNECTOR_FILE,
73
+ method: _constants2.METHODS.GET_DO_NOT_DISTURB_SETTING
74
+ };
75
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
76
+ return this.getMethodNotSupportedResponse();
77
+ }
78
+
79
+ /**
80
+ * Updates DND setting at the backend.
81
+ */
82
+ }, {
83
+ key: "setDoNotDisturbSetting",
84
+ value: function setDoNotDisturbSetting() {
85
+ var loggerContext = {
86
+ file: _constants.UCM_CONNECTOR_FILE,
87
+ method: _constants2.METHODS.SET_DO_NOT_DISTURB_SETTING
88
+ };
89
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
90
+ return this.getMethodNotSupportedResponse();
91
+ }
92
+
93
+ /**
94
+ * Reads Call Forward setting at the backend.
95
+ */
96
+ }, {
97
+ key: "getCallForwardSetting",
98
+ value: function getCallForwardSetting() {
99
+ var loggerContext = {
100
+ file: _constants.UCM_CONNECTOR_FILE,
101
+ method: _constants2.METHODS.GET_CALL_FORWARD_SETTING
102
+ };
103
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
104
+ return this.getMethodNotSupportedResponse();
105
+ }
106
+
107
+ /**
108
+ * Updates Call Forward setting at the backend.
109
+ */
110
+ }, {
111
+ key: "setCallForwardSetting",
112
+ value: function setCallForwardSetting() {
113
+ var loggerContext = {
114
+ file: _constants.UCM_CONNECTOR_FILE,
115
+ method: _constants2.METHODS.SET_CALL_FORWARD_SETTING
116
+ };
117
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
118
+ return this.getMethodNotSupportedResponse();
119
+ }
120
+
121
+ /**
122
+ * Reads Voicemail setting at the backend.
123
+ */
124
+ }, {
125
+ key: "getVoicemailSetting",
126
+ value: function getVoicemailSetting() {
127
+ var loggerContext = {
128
+ file: _constants.UCM_CONNECTOR_FILE,
129
+ method: _constants2.METHODS.GET_VOICEMAIL_SETTING
130
+ };
131
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
132
+ return this.getMethodNotSupportedResponse();
133
+ }
134
+
135
+ /**
136
+ * Updates Voicemail setting at the backend.
137
+ */
138
+ }, {
139
+ key: "setVoicemailSetting",
140
+ value: function setVoicemailSetting() {
141
+ var loggerContext = {
142
+ file: _constants.UCM_CONNECTOR_FILE,
143
+ method: _constants2.METHODS.SET_VOICEMAIL_SETTING
144
+ };
145
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
146
+ return this.getMethodNotSupportedResponse();
147
+ }
148
+
149
+ /**
150
+ * Returns a default error response for unsupported methods.
151
+ */
152
+ }, {
153
+ key: "getMethodNotSupportedResponse",
154
+ value: function getMethodNotSupportedResponse() {
155
+ var loggerContext = {
156
+ file: _constants.UCM_CONNECTOR_FILE,
157
+ method: _constants2.METHODS.GET_METHOD_NOT_SUPPORTED_RESPONSE
158
+ };
159
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
160
+ var response = (0, _Utils.serviceErrorCodeHandler)({
161
+ statusCode: 501
162
+ }, loggerContext);
163
+ return _promise.default.resolve(response);
164
+ }
165
+
166
+ /**
167
+ * Reads the Call Forwarding Always settings at the backend.
168
+ * This will also check if CFA is set to Voicemail.
169
+ * If CFA is set to destination, that will take precedence.
170
+ * For UCM backend, relevant fields in the response are `enabled` & `destination`.
171
+ *
172
+ * @param directoryNumber - Directory number for which CFA needs to returned.
173
+ */
174
+ }, {
175
+ key: "getCallForwardAlwaysSetting",
176
+ value: (function () {
177
+ var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(directoryNumber) {
178
+ var _this$webex, _this$webex$config;
179
+ var loggerContext, headers, webexApisUrl, requestOptions, resp, _ref, callForwarding, cfa, _response, _response2, response, errorInfo, errorStatus, _t;
180
+ return _regenerator.default.wrap(function (_context) {
181
+ while (1) switch (_context.prev = _context.next) {
182
+ case 0:
183
+ loggerContext = {
184
+ file: _constants.UCM_CONNECTOR_FILE,
185
+ method: _constants2.METHODS.GET_CALL_FORWARD_ALWAYS_SETTING
186
+ };
187
+ _Logger.default.info(directoryNumber ? "".concat(_constants.METHOD_START_MESSAGE, " with ").concat(directoryNumber) : _constants.METHOD_START_MESSAGE, loggerContext);
188
+
189
+ // Fetch auth headers per request (no caching) to ensure freshness.
190
+ _context.next = 1;
191
+ return this.getAuthHeaders();
192
+ case 1:
193
+ headers = _context.sent;
194
+ if ((_this$webex = this.webex) !== null && _this$webex !== void 0 && (_this$webex$config = _this$webex.config) !== null && _this$webex$config !== void 0 && _this$webex$config.fedramp) {
195
+ webexApisUrl = _constants.WEBEX_API_CONFIG_FEDRAMP_URL;
196
+ } else {
197
+ webexApisUrl = this.useProdWebexApis ? _constants.WEBEX_API_CONFIG_PROD_URL : _constants.WEBEX_API_CONFIG_INT_URL;
198
+ }
199
+ _context.prev = 2;
200
+ if (!directoryNumber) {
201
+ _context.next = 5;
202
+ break;
203
+ }
204
+ requestOptions = {
205
+ uri: "".concat(webexApisUrl, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.userId, "/").concat(_constants2.CF_ENDPOINT.toLowerCase(), "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
206
+ method: _types.HTTP_METHODS.GET,
207
+ headers: headers
208
+ };
209
+ _context.next = 3;
210
+ return this.webex.request(requestOptions);
211
+ case 3:
212
+ resp = _context.sent;
213
+ _Logger.default.log("Response code: ".concat(resp.statusCode), loggerContext);
214
+ _ref = resp.body, callForwarding = _ref.callForwarding;
215
+ cfa = callForwarding.always.find(function (item) {
216
+ return item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber);
217
+ });
218
+ if (!cfa) {
219
+ _context.next = 4;
220
+ break;
221
+ }
222
+ _response = {
223
+ statusCode: Number(resp[_constants.STATUS_CODE]),
224
+ message: _constants.SUCCESS_MESSAGE,
225
+ data: {
226
+ callSetting: {
227
+ enabled: cfa.destinationVoicemailEnabled || !!cfa.destination,
228
+ destination: cfa.destinationVoicemailEnabled ? _constants.VOICEMAIL : cfa.destination
229
+ }
230
+ }
231
+ };
232
+ _Logger.default.log("Successfully retrieved call forward always setting for directory number: ".concat(directoryNumber), loggerContext);
233
+ return _context.abrupt("return", _response);
234
+ case 4:
235
+ _response2 = {
236
+ statusCode: 404,
237
+ message: _constants.FAILURE_MESSAGE,
238
+ data: {
239
+ error: 'Directory Number is not assigned to the user'
240
+ }
241
+ };
242
+ return _context.abrupt("return", _response2);
243
+ case 5:
244
+ response = {
245
+ statusCode: 400,
246
+ message: _constants.FAILURE_MESSAGE,
247
+ data: {
248
+ error: 'Directory Number is mandatory for UCM backend'
249
+ }
250
+ };
251
+ return _context.abrupt("return", response);
252
+ case 6:
253
+ _context.prev = 6;
254
+ _t = _context["catch"](2);
255
+ errorInfo = _t;
256
+ _Logger.default.error("Failed to get call forward always setting: ".concat((0, _stringify.default)(_t)), loggerContext);
257
+ _context.next = 7;
258
+ return (0, _Utils.uploadLogs)();
259
+ case 7:
260
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
261
+ return _context.abrupt("return", errorStatus);
262
+ case 8:
263
+ case "end":
264
+ return _context.stop();
265
+ }
266
+ }, _callee, this, [[2, 6]]);
267
+ }));
268
+ function getCallForwardAlwaysSetting(_x) {
269
+ return _getCallForwardAlwaysSetting.apply(this, arguments);
270
+ }
271
+ return getCallForwardAlwaysSetting;
272
+ }())
273
+ }, {
274
+ key: "getAuthHeaders",
275
+ value: function () {
276
+ var _getAuthHeaders = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
277
+ var _this$webex2, _this$webex2$config;
278
+ var headers;
279
+ return _regenerator.default.wrap(function (_context2) {
280
+ while (1) switch (_context2.prev = _context2.next) {
281
+ case 0:
282
+ headers = {}; // Match behavior from WxCallBackendConnector:
283
+ // Only add authorization for FedRAMP, else rely on implicit auth/session.
284
+ // Note: Use lowercase 'authorization' to match SDK's auth interceptor check
285
+ if (!((_this$webex2 = this.webex) !== null && _this$webex2 !== void 0 && (_this$webex2$config = _this$webex2.config) !== null && _this$webex2$config !== void 0 && _this$webex2$config.fedramp)) {
286
+ _context2.next = 2;
287
+ break;
288
+ }
289
+ _context2.next = 1;
290
+ return this.webex.credentials.getUserToken();
291
+ case 1:
292
+ headers.authorization = _context2.sent;
293
+ case 2:
294
+ return _context2.abrupt("return", headers);
295
+ case 3:
296
+ case "end":
297
+ return _context2.stop();
298
+ }
299
+ }, _callee2, this);
300
+ }));
301
+ function getAuthHeaders() {
302
+ return _getAuthHeaders.apply(this, arguments);
303
+ }
304
+ return getAuthHeaders;
305
+ }()
306
+ }]);
307
+ }();
308
+ //# sourceMappingURL=UcmBackendConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Logger","_interopRequireDefault","require","_SDKConnector","_Utils","_constants","_types","_constants2","UcmBackendConnector","exports","webex","logger","useProdWebexApis","arguments","length","undefined","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","UCM_CONNECTOR_FILE","userId","internal","device","orgId","_createClass2","key","value","getCallWaitingSetting","loggerContext","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","getMethodNotSupportedResponse","getDoNotDisturbSetting","GET_DO_NOT_DISTURB_SETTING","setDoNotDisturbSetting","SET_DO_NOT_DISTURB_SETTING","getCallForwardSetting","GET_CALL_FORWARD_SETTING","setCallForwardSetting","SET_CALL_FORWARD_SETTING","getVoicemailSetting","GET_VOICEMAIL_SETTING","setVoicemailSetting","SET_VOICEMAIL_SETTING","GET_METHOD_NOT_SUPPORTED_RESPONSE","response","serviceErrorCodeHandler","statusCode","_promise","resolve","_getCallForwardAlwaysSetting","_asyncToGenerator2","_regenerator","mark","_callee","directoryNumber","_this$webex","_this$webex$config","headers","webexApisUrl","requestOptions","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","_t","wrap","_context","prev","next","GET_CALL_FORWARD_ALWAYS_SETTING","concat","getAuthHeaders","sent","config","fedramp","WEBEX_API_CONFIG_FEDRAMP_URL","WEBEX_API_CONFIG_PROD_URL","WEBEX_API_CONFIG_INT_URL","uri","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","HTTP_METHODS","GET","request","body","always","find","item","dn","endsWith","e164Number","Number","STATUS_CODE","message","SUCCESS_MESSAGE","data","callSetting","enabled","destinationVoicemailEnabled","destination","VOICEMAIL","abrupt","FAILURE_MESSAGE","error","_stringify","uploadLogs","stop","getCallForwardAlwaysSetting","_x","apply","_getAuthHeaders","_callee2","_this$webex2","_this$webex2$config","_context2","credentials","getUserToken","authorization"],"sources":["UcmBackendConnector.ts"],"sourcesContent":["import log from '../Logger';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {serviceErrorCodeHandler, uploadLogs} from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n VOICEMAIL,\n WEBEX_API_CONFIG_INT_URL,\n WEBEX_API_CONFIG_PROD_URL,\n WEBEX_API_CONFIG_FEDRAMP_URL,\n} from '../common/constants';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {CF_ENDPOINT, METHODS, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {\n CallForwardAlwaysSetting,\n CallForwardingSettingsUCM,\n CallSettingResponse,\n IUcmBackendConnector,\n LoggerInterface,\n} from './types';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the CCUC with UCM backend.\n */\nexport class UcmBackendConnector implements IUcmBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private orgId: string;\n\n private useProdWebexApis: boolean;\n\n /**\n * @param useProdWebexApis - default value is true\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis = true) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n log.setLogger(logger.level, UCM_CONNECTOR_FILE);\n this.userId = this.webex.internal.device.userId;\n this.orgId = this.webex.internal.device.orgId;\n this.useProdWebexApis = useProdWebexApis;\n }\n\n // Removed header caching to align with review: fetch per request instead.\n\n /**\n * Reads call waiting setting at the backend.\n */\n public getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public setDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public setCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public setVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n return this.getMethodNotSupportedResponse();\n }\n\n /**\n * Returns a default error response for unsupported methods.\n */\n private getMethodNotSupportedResponse(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_METHOD_NOT_SUPPORTED_RESPONSE,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = serviceErrorCodeHandler({statusCode: 501}, loggerContext);\n\n return Promise.resolve(response);\n }\n\n /**\n * Reads the Call Forwarding Always settings at the backend.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * For UCM backend, relevant fields in the response are `enabled` & `destination`.\n *\n * @param directoryNumber - Directory number for which CFA needs to returned.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n const loggerContext = {\n file: UCM_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(\n directoryNumber ? `${METHOD_START_MESSAGE} with ${directoryNumber}` : METHOD_START_MESSAGE,\n loggerContext\n );\n\n // Fetch auth headers per request (no caching) to ensure freshness.\n const headers = await this.getAuthHeaders();\n\n let webexApisUrl: string;\n if (this.webex?.config?.fedramp) {\n webexApisUrl = WEBEX_API_CONFIG_FEDRAMP_URL;\n } else {\n webexApisUrl = this.useProdWebexApis ? WEBEX_API_CONFIG_PROD_URL : WEBEX_API_CONFIG_INT_URL;\n }\n\n try {\n if (directoryNumber) {\n const requestOptions: WebexRequestPayload = {\n uri: `${webexApisUrl}/${PEOPLE_ENDPOINT}/${\n this.userId\n }/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n headers,\n };\n\n const resp = <WebexRequestPayload>await this.webex.request(requestOptions);\n\n log.log(`Response code: ${resp.statusCode}`, loggerContext);\n\n const {callForwarding} = resp.body as CallForwardingSettingsUCM;\n const cfa = callForwarding.always.find(\n (item) => item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber)\n );\n\n if (cfa) {\n const response = {\n statusCode: Number(resp[STATUS_CODE]),\n message: SUCCESS_MESSAGE,\n data: {\n callSetting: {\n enabled: cfa.destinationVoicemailEnabled || !!cfa.destination,\n destination: cfa.destinationVoicemailEnabled ? VOICEMAIL : cfa.destination,\n } as CallForwardAlwaysSetting,\n },\n };\n\n log.log(\n `Successfully retrieved call forward always setting for directory number: ${directoryNumber}`,\n loggerContext\n );\n\n return response;\n }\n const response = {\n statusCode: 404,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is not assigned to the user',\n },\n };\n\n return response;\n }\n const response = {\n statusCode: 400,\n message: FAILURE_MESSAGE,\n data: {\n error: 'Directory Number is mandatory for UCM backend',\n },\n };\n\n return response;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n log.error(`Failed to get call forward always setting: ${JSON.stringify(err)}`, loggerContext);\n await uploadLogs();\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n private async getAuthHeaders(): Promise<Record<string, string>> {\n const headers: Record<string, string> = {};\n\n // Match behavior from WxCallBackendConnector:\n // Only add authorization for FedRAMP, else rely on implicit auth/session.\n // Note: Use lowercase 'authorization' to match SDK's auth interceptor check\n if (this.webex?.config?.fedramp) {\n headers.authorization = await this.webex.credentials.getUserToken();\n }\n\n return headers;\n }\n}\n"],"mappings":"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","ignoreList":[]}