@webex/calling 3.10.0-next.9 → 3.10.0-set-bitrate.2
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.
- package/dist/CallHistory/CallHistory.js +118 -124
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +189 -201
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +17 -18
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/CallSettings.test.js +14 -14
- package/dist/CallSettings/CallSettings.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +71 -24
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +135 -137
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +198 -201
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -168
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +7 -8
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +650 -606
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +685 -564
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +15 -18
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +113 -113
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +5 -1
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +57 -74
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +22 -22
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +657 -526
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +657 -309
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +24 -24
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +20 -20
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +250 -253
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +60 -60
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Errors/catalog/CallError.js +7 -10
- package/dist/Errors/catalog/CallError.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +6 -9
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/ExtendedError.js +6 -8
- package/dist/Errors/catalog/ExtendedError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +6 -9
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Events/impl/index.js +11 -13
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +1 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/SDKConnector/index.js +1 -2
- package/dist/SDKConnector/index.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +84 -85
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +58 -61
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +20 -20
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +116 -117
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/common/Utils.js +195 -165
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +432 -183
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +3 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/testUtil.js +3 -3
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
- package/dist/module/CallingClient/calling/call.js +55 -34
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +82 -2
- package/dist/module/common/Utils.js +27 -3
- package/dist/module/common/constants.js +2 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +4 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +3 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +6 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +6 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -61,8 +61,8 @@ describe('CallSettings Client tests', function () {
|
|
|
61
61
|
});
|
|
62
62
|
it.each(testData)('%s', /*#__PURE__*/function () {
|
|
63
63
|
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(data) {
|
|
64
|
-
var callSettingsClient;
|
|
65
|
-
return _regenerator.default.wrap(function
|
|
64
|
+
var callSettingsClient, _t;
|
|
65
|
+
return _regenerator.default.wrap(function (_context) {
|
|
66
66
|
while (1) switch (_context.prev = _context.next) {
|
|
67
67
|
case 0:
|
|
68
68
|
webex.internal.device.callingBehavior = data.callingBehavior;
|
|
@@ -72,21 +72,21 @@ describe('CallSettings Client tests', function () {
|
|
|
72
72
|
}
|
|
73
73
|
}];
|
|
74
74
|
if (!data.valid) {
|
|
75
|
-
_context.next =
|
|
75
|
+
_context.next = 5;
|
|
76
76
|
break;
|
|
77
77
|
}
|
|
78
78
|
callSettingsClient = (0, _CallSettings.createCallSettingsClient)(webex, {
|
|
79
79
|
level: _types.LOGGER.INFO
|
|
80
80
|
});
|
|
81
81
|
expect(callSettingsClient).toBeTruthy();
|
|
82
|
-
|
|
83
|
-
_context.next =
|
|
82
|
+
_t = data.callingBehavior;
|
|
83
|
+
_context.next = _t === _constants.NATIVE_SIP_CALL_TO_UCM ? 1 : _t === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 2 : 3;
|
|
84
84
|
break;
|
|
85
|
-
case
|
|
85
|
+
case 1:
|
|
86
86
|
expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.UCM);
|
|
87
87
|
expect(callSettingsClient['backendConnector']).toBeInstanceOf(_UcmBackendConnector.UcmBackendConnector);
|
|
88
|
-
return _context.abrupt("
|
|
89
|
-
case
|
|
88
|
+
return _context.abrupt("continue", 4);
|
|
89
|
+
case 2:
|
|
90
90
|
if (data.entitlement === _constants.ENTITLEMENT_BROADWORKS_CONN) {
|
|
91
91
|
expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.BWRKS);
|
|
92
92
|
expect(callSettingsClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
|
|
@@ -95,19 +95,19 @@ describe('CallSettings Client tests', function () {
|
|
|
95
95
|
expect(callSettingsClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.WXC);
|
|
96
96
|
expect(callSettingsClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
|
|
97
97
|
}
|
|
98
|
-
return _context.abrupt("
|
|
99
|
-
case
|
|
98
|
+
return _context.abrupt("continue", 4);
|
|
99
|
+
case 3:
|
|
100
100
|
fail('Unknown calling backend type.');
|
|
101
|
-
case
|
|
102
|
-
_context.next =
|
|
101
|
+
case 4:
|
|
102
|
+
_context.next = 6;
|
|
103
103
|
break;
|
|
104
|
-
case
|
|
104
|
+
case 5:
|
|
105
105
|
expect(function () {
|
|
106
106
|
(0, _CallSettings.createCallSettingsClient)(webex, {
|
|
107
107
|
level: _types.LOGGER.INFO
|
|
108
108
|
});
|
|
109
109
|
}).toThrowError('Calling backend is not identified, exiting....');
|
|
110
|
-
case
|
|
110
|
+
case 6:
|
|
111
111
|
case "end":
|
|
112
112
|
return _context.stop();
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_testUtil","require","_types","_constants","_types2","_WxCallBackendConnector","_CallSettings","_UcmBackendConnector","describe","webex","getTestUtilsWebex","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","callSettingsClient","
|
|
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":[]}
|
|
@@ -46,10 +46,12 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
46
46
|
this.useProdWebexApis = useProdWebexApis;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
// Removed header caching to align with review: fetch per request instead.
|
|
50
|
+
|
|
49
51
|
/**
|
|
50
52
|
* Reads call waiting setting at the backend.
|
|
51
53
|
*/
|
|
52
|
-
(0, _createClass2.default)(UcmBackendConnector, [{
|
|
54
|
+
return (0, _createClass2.default)(UcmBackendConnector, [{
|
|
53
55
|
key: "getCallWaitingSetting",
|
|
54
56
|
value: function getCallWaitingSetting() {
|
|
55
57
|
var loggerContext = {
|
|
@@ -173,8 +175,9 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
173
175
|
key: "getCallForwardAlwaysSetting",
|
|
174
176
|
value: (function () {
|
|
175
177
|
var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(directoryNumber) {
|
|
176
|
-
var
|
|
177
|
-
|
|
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) {
|
|
178
181
|
while (1) switch (_context.prev = _context.next) {
|
|
179
182
|
case 0:
|
|
180
183
|
loggerContext = {
|
|
@@ -182,18 +185,30 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
182
185
|
method: _constants2.METHODS.GET_CALL_FORWARD_ALWAYS_SETTING
|
|
183
186
|
};
|
|
184
187
|
_Logger.default.info(directoryNumber ? "".concat(_constants.METHOD_START_MESSAGE, " with ").concat(directoryNumber) : _constants.METHOD_START_MESSAGE, loggerContext);
|
|
185
|
-
|
|
186
|
-
|
|
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;
|
|
187
200
|
if (!directoryNumber) {
|
|
188
|
-
_context.next =
|
|
201
|
+
_context.next = 5;
|
|
189
202
|
break;
|
|
190
203
|
}
|
|
191
|
-
|
|
192
|
-
return this.webex.request({
|
|
204
|
+
requestOptions = {
|
|
193
205
|
uri: "".concat(webexApisUrl, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(this.userId, "/").concat(_constants2.CF_ENDPOINT.toLowerCase(), "?").concat(_constants2.ORG_ENDPOINT, "=").concat(this.orgId),
|
|
194
|
-
method: _types.HTTP_METHODS.GET
|
|
195
|
-
|
|
196
|
-
|
|
206
|
+
method: _types.HTTP_METHODS.GET,
|
|
207
|
+
headers: headers
|
|
208
|
+
};
|
|
209
|
+
_context.next = 3;
|
|
210
|
+
return this.webex.request(requestOptions);
|
|
211
|
+
case 3:
|
|
197
212
|
resp = _context.sent;
|
|
198
213
|
_Logger.default.log("Response code: ".concat(resp.statusCode), loggerContext);
|
|
199
214
|
_ref = resp.body, callForwarding = _ref.callForwarding;
|
|
@@ -201,7 +216,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
201
216
|
return item.dn.endsWith(directoryNumber) || item.e164Number.endsWith(directoryNumber);
|
|
202
217
|
});
|
|
203
218
|
if (!cfa) {
|
|
204
|
-
_context.next =
|
|
219
|
+
_context.next = 4;
|
|
205
220
|
break;
|
|
206
221
|
}
|
|
207
222
|
_response = {
|
|
@@ -216,7 +231,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
216
231
|
};
|
|
217
232
|
_Logger.default.log("Successfully retrieved call forward always setting for directory number: ".concat(directoryNumber), loggerContext);
|
|
218
233
|
return _context.abrupt("return", _response);
|
|
219
|
-
case
|
|
234
|
+
case 4:
|
|
220
235
|
_response2 = {
|
|
221
236
|
statusCode: 404,
|
|
222
237
|
message: _constants.FAILURE_MESSAGE,
|
|
@@ -225,7 +240,7 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
225
240
|
}
|
|
226
241
|
};
|
|
227
242
|
return _context.abrupt("return", _response2);
|
|
228
|
-
case
|
|
243
|
+
case 5:
|
|
229
244
|
response = {
|
|
230
245
|
statusCode: 400,
|
|
231
246
|
message: _constants.FAILURE_MESSAGE,
|
|
@@ -234,28 +249,60 @@ var UcmBackendConnector = exports.UcmBackendConnector = /*#__PURE__*/function ()
|
|
|
234
249
|
}
|
|
235
250
|
};
|
|
236
251
|
return _context.abrupt("return", response);
|
|
237
|
-
case
|
|
238
|
-
_context.prev =
|
|
239
|
-
|
|
240
|
-
errorInfo =
|
|
241
|
-
_Logger.default.error("Failed to get call forward always setting: ".concat((0, _stringify.default)(
|
|
242
|
-
_context.next =
|
|
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;
|
|
243
258
|
return (0, _Utils.uploadLogs)();
|
|
244
|
-
case
|
|
259
|
+
case 7:
|
|
245
260
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
246
261
|
return _context.abrupt("return", errorStatus);
|
|
247
|
-
case
|
|
262
|
+
case 8:
|
|
248
263
|
case "end":
|
|
249
264
|
return _context.stop();
|
|
250
265
|
}
|
|
251
|
-
}, _callee, this, [[
|
|
266
|
+
}, _callee, this, [[2, 6]]);
|
|
252
267
|
}));
|
|
253
268
|
function getCallForwardAlwaysSetting(_x) {
|
|
254
269
|
return _getCallForwardAlwaysSetting.apply(this, arguments);
|
|
255
270
|
}
|
|
256
271
|
return getCallForwardAlwaysSetting;
|
|
257
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
|
+
}()
|
|
258
306
|
}]);
|
|
259
|
-
return UcmBackendConnector;
|
|
260
307
|
}();
|
|
261
308
|
//# sourceMappingURL=UcmBackendConnector.js.map
|
|
@@ -1 +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","webexApisUrl","resp","_ref","callForwarding","cfa","_response","_response2","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","GET_CALL_FORWARD_ALWAYS_SETTING","concat","WEBEX_API_CONFIG_PROD_URL","WEBEX_API_CONFIG_INT_URL","request","uri","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","HTTP_METHODS","GET","sent","body","always","find","item","dn","endsWith","e164Number","Number","STATUS_CODE","message","SUCCESS_MESSAGE","data","callSetting","enabled","destinationVoicemailEnabled","destination","VOICEMAIL","abrupt","FAILURE_MESSAGE","error","t0","_stringify","uploadLogs","stop","getCallForwardAlwaysSetting","_x","apply"],"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} 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 /**\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 const webexApisUrl = this.useProdWebexApis\n ? WEBEX_API_CONFIG_PROD_URL\n : WEBEX_API_CONFIG_INT_URL;\n\n try {\n if (directoryNumber) {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${webexApisUrl}/${PEOPLE_ENDPOINT}/${\n this.userId\n }/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n\n 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"],"mappings":"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","ignoreList":[]}
|
|
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":[]}
|