@webex/calling 3.10.0-next.9 → 3.10.0-webex-services-ready.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_testUtil","_types2","_CallHistory","_callHistoryFixtures","_types3","_constants","utils","_interopRequireWildcard","_Logger","_interopRequireDefault","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","uploadLogsSpy","describe","callHistory","infoSpy","jest","spyOn","log","mockImplementation","logSpy","errorSpy","beforeAll","CallHistory","level","LOGGER","INFO","mockResolvedValue","it","_asyncToGenerator2","_regenerator","mark","_callee","callHistoryPayload","response","wrap","_callee$","_context","prev","next","mockCallHistoryBody","request","getCallHistoryData","SORT","DEFAULT","SORT_BY","sent","expect","statusCode","toBe","message","toHaveBeenCalled","not","toHaveBeenCalledWith","file","CALL_HISTORY_FILE","method","METHODS","GET_CALL_HISTORY_DATA","stringContaining","stop","_callee2","failurePayload","_callee2$","_context2","mockRejectedValue","ASC","START_TIME","concat","_stringify","toHaveBeenCalledTimes","_callee3","_callee3$","_context3","_callee4","responseDetails","_callee4$","_context4","sortedCallHistory","body","data","userSessions","toEqual","mockOn","internal","mercury","on","beforeEach","createCallHistoryClient","done","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","event","MOCK_SESSION_EVENT","mock","calls","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","callSessionCallback","MOCK_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_LEGACY","_callee5","_callee5$","_context5","_promise","resolve","CALL_HISTORY_USER_VIEWED_SESSIONS","MOCK_SESSION_EVENT_VIEWED","CALL_SESSION_EVENT_VIEWED","_callee6","_callee6$","_context6","CALL_HISTORY_USER_SESSIONS_DELETED","MOCK_SESSION_EVENT_DELETED","CALL_SESSION_EVENT_DELETED","methodDetails","UPDATE_MISSED_CALLS","afterEach","clearAllMocks","_callee7","_callee7$","_context7","global","fetch","fn","status","ok","json","MOCK_UPDATE_MISSED_CALL_RESPONSE","_callee8","endTimeSessionIds","convertedEndTimeSessionIds","_callee8$","_context8","endTime","sessionId","updateMissedCalls","map","session","Date","getTime","t0","t1","janusSetReadStateUrl","t2","HTTP_METHODS","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","t8","headers","toBeCalledOnceWith","METHOD_START_MESSAGE","_callee9","_callee9$","_context9","toStrictEqual","ERROR_DETAILS_400","toBeCalledWith","_callee0","_callee0$","_context0","ERROR_DETAILS_401","_callee1","ucmLinesAPIPayload","_callee1$","_context1","MOCK_LINES_API_CALL_RESPONSE","FETCH_UCM_LINES_DATA","_callee10","_callee10$","_context10","error","_callee11","fetchUCMLinesDataSpy","mockCallHistoryPayload","_callee11$","_context11","mockReturnValue","CALLING_BACKEND","UCM","MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER","self","ucmLineNumber","_callee12","_callee12$","_context12","MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA","MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER","cucmDN","toBeDefined","undefined","_callee13","_callee13$","_context13","_callee14","_callee14$","_context14","WXC","DELETE_CALL_HISTORY_RECORDS","_callee15","_callee15$","_context15","MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE","_callee16","deleteSessionIds","_callee16$","_context16","deleteCallHistoryRecords","janusMarkAsDeletedUrl","_callee17","_callee17$","_context17","_callee18","_callee18$","_context18","_callee19","_callee19$","_context19","MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE","webexRequestSpy","restoreAllMocks","_callee20","callArgs","_callee20$","_context20","uri","toContain","GET","service","_callee21","_callee21$","_context21","_callee22","_callee22$","_context22","BWRKS","_callee23","_callee23$","_context23","_callee24","_callee24$","_context24","toMatch"],"sources":["CallHistory.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable dot-notation */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {CALLING_BACKEND, HTTP_METHODS, SORT, SORT_BY, WebexRequestPayload} from '../common/types';\nimport {CallHistory, createCallHistoryClient} from './CallHistory';\nimport {ICallHistory} from './types';\nimport {\n sortedCallHistory,\n mockCallHistoryBody,\n MOCK_SESSION_EVENT,\n MOCK_SESSION_EVENT_LEGACY,\n MOCK_SESSION_EVENT_VIEWED,\n MOCK_UPDATE_MISSED_CALL_RESPONSE,\n janusSetReadStateUrl,\n ERROR_DETAILS_401,\n ERROR_DETAILS_400,\n MOCK_LINES_API_CALL_RESPONSE,\n MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA,\n MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER,\n MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER,\n MOCK_SESSION_EVENT_DELETED,\n MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE,\n janusMarkAsDeletedUrl,\n MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE,\n} from './callHistoryFixtures';\nimport {\n COMMON_EVENT_KEYS,\n CallSessionDeletedEvent,\n CallSessionEvent,\n CallSessionViewedEvent,\n MOBIUS_EVENT_KEYS,\n} from '../Events/types';\nimport {APPLICATION_JSON, CALL_HISTORY_FILE, CONTENT_TYPE, METHODS} from './constants';\nimport * as utils from '../common/Utils';\nimport log from '../Logger';\nimport {METHOD_START_MESSAGE} from '../common/constants';\n\nconst webex = getTestUtilsWebex();\nlet serviceErrorCodeHandlerSpy: jest.SpyInstance;\nlet uploadLogsSpy: jest.SpyInstance;\n\ndescribe('Call history tests', () => {\n let callHistory: ICallHistory;\n const infoSpy = jest.spyOn(log, 'info').mockImplementation();\n const logSpy = jest.spyOn(log, 'log').mockImplementation();\n const errorSpy = jest.spyOn(log, 'error').mockImplementation();\n\n beforeAll(() => {\n callHistory = new CallHistory(webex, {level: LOGGER.INFO});\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful call history case', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logging behavior\n expect(infoSpy).toHaveBeenCalled();\n expect(logSpy).toHaveBeenCalled();\n expect(errorSpy).not.toHaveBeenCalled();\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=10, sort=DESC, sortBy=endTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved call history data'),\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed call history case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 2000, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=2000, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalledWith(\n `Failed to get call history: ${JSON.stringify(failurePayload)}`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('verify device not found call history case', async () => {\n const failurePayload = {\n statusCode: 404,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(0, 0, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(404);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=0, limit=0, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalledWith(\n `Failed to get call history: ${JSON.stringify(failurePayload)}`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n describe('sorting user session response data by sortby', () => {\n it('Array should be sort.ASC by START TIME ', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(10, 20, SORT.ASC, SORT_BY.START_TIME);\n\n const responseDetails = {\n statusCode: sortedCallHistory.body.statusCode,\n data: {\n userSessions: sortedCallHistory.body.userSessions,\n },\n message: 'SUCCESS',\n };\n\n expect(response).toEqual(responseDetails);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=10, limit=20, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n });\n });\n\n describe('Call History Session Event test', () => {\n const mockOn = webex.internal.mercury.on;\n let callHistory: ICallHistory;\n\n beforeEach(() => {\n callHistory = createCallHistoryClient(webex, {level: LOGGER.INFO});\n });\n\n it('verify the recent user session event ', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[0][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);\n const callSessionCallback = mockOn.mock.calls[0][1];\n\n callSessionCallback(MOCK_SESSION_EVENT);\n });\n\n it('verify the user session event received for locus calls', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_LEGACY.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[1][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY);\n const callSessionCallback = mockOn.mock.calls[1][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_LEGACY);\n });\n\n it('verify the user viewed session event for missed calls update', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n (event: CallSessionViewedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_VIEWED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[2][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED);\n const callSessionCallback = mockOn.mock.calls[2][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_VIEWED);\n });\n });\n\n it('verify the user sessions deleted event for deleting the call history records', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n (event: CallSessionDeletedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_DELETED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[3][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED);\n const callSessionCallback = mockOn.mock.calls[3][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_DELETED);\n });\n });\n });\n\n describe('Update missed calls test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n };\n afterEach(() => {\n jest.clearAllMocks();\n });\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_UPDATE_MISSED_CALL_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully updates missed calls', async () => {\n const endTimeSessionIds = [{endTime: '1234568', sessionId: '123'}];\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_UPDATE_MISSED_CALL_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(convertedEndTimeSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n 'Missed calls are successfully read by the user',\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: updateMissedCalls throw 400 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toBeCalledWith(\n expect.stringContaining('Failed to update missed calls'),\n methodDetails\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: updateMissedCalls throw 401 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('fetchUCMLinesData test', () => {\n beforeEach(() => {\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful UCM lines API case', async () => {\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>MOCK_LINES_API_CALL_RESPONSE);\n\n webex.request.mockResolvedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793',\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(logSpy).toHaveBeenCalledWith('Line details fetched successfully', {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n });\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed UCM lines API case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.data.error).toEqual(ERROR_DETAILS_400.data.error);\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(\n {statusCode: 400},\n {file: CALL_HISTORY_FILE, method: METHODS.FETCH_UCM_LINES_DATA}\n );\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('should call fetchUCMLinesData when calling backend is UCM and userSessions contain valid cucmDN', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(1);\n });\n\n it('should fetchUCMLinesData but not assign ucmLineNumber when UCM backend has no line data', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(response.data.userSessions && response.data.userSessions[0].self.cucmDN).toBeDefined();\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(undefined);\n });\n\n it('should not call fetchUCMLinesData when calling backend is UCM but no valid cucmDN is present', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled();\n });\n\n it('should not call fetchUCMLinesData when calling backend is not UCM', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled(); // Check that fetchUCMLinesData was not called\n });\n });\n\n describe('Delete call history records test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n };\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully deletes the call history records', async () => {\n const deleteSessionIds = [{endTime: '2024-10-22T08:50:48.603Z', sessionId: '123'}];\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(deleteSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully deleted ${deleteSessionIds.length} call history records`,\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: deleteCallHistoryRecords throw 400 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: deleteCallHistoryRecords throw 401 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toBeCalledWith(\n expect.stringContaining('Failed to delete call history records'),\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('handles invalid date formats gracefully', async () => {\n const deleteSessionIds = [{endTime: 'invalid-date', sessionId: '123'}];\n\n // Mock the response to be 400 and trigger an error in your function\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n\n expect(response.statusCode).toBe(400);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('The provided date is malformed or invalid'),\n methodDetails\n );\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('URL construction for shared sessions based on calling backend', () => {\n let webexRequestSpy: jest.SpyInstance;\n\n beforeEach(() => {\n webexRequestSpy = jest.spyOn(webex, 'request').mockResolvedValue({\n statusCode: 200,\n body: {\n statusCode: 200,\n userSessions: [],\n },\n });\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n it('should include includeSharedSessions=true for WXC backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).toContain('&includeSharedSessions=true');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for UCM backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for BWRKS backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.BWRKS);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for unknown/other backends', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue('OTHER_BACKEND' as any);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should construct URL correctly with base parameters for all backends', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).toMatch(\n /.*\\/history\\/userSessions.*limit=10.*includeNewSessionTypes=true.*sort=DESC.*/\n );\n expect(callArgs.uri).toContain('&includeSharedSessions=true');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_types","require","_testUtil","_types2","_CallHistory","_callHistoryFixtures","_types3","_constants","utils","_interopRequireWildcard","_Logger","_interopRequireDefault","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t41","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","uploadLogsSpy","describe","callHistory","infoSpy","jest","spyOn","log","mockImplementation","logSpy","errorSpy","beforeAll","CallHistory","level","LOGGER","INFO","mockResolvedValue","it","_asyncToGenerator2","_regenerator","mark","_callee","callHistoryPayload","response","wrap","_context","prev","next","mockCallHistoryBody","request","getCallHistoryData","SORT","DEFAULT","SORT_BY","sent","expect","statusCode","toBe","message","toHaveBeenCalled","not","toHaveBeenCalledWith","file","CALL_HISTORY_FILE","method","METHODS","GET_CALL_HISTORY_DATA","stringContaining","stop","_callee2","failurePayload","_context2","mockRejectedValue","ASC","START_TIME","concat","_stringify","toHaveBeenCalledTimes","_callee3","_context3","_callee4","responseDetails","_context4","sortedCallHistory","body","data","userSessions","toEqual","mockOn","internal","mercury","on","beforeEach","createCallHistoryClient","done","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","event","MOCK_SESSION_EVENT","mock","calls","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","callSessionCallback","MOCK_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_LEGACY","_callee5","_context5","_promise","resolve","CALL_HISTORY_USER_VIEWED_SESSIONS","MOCK_SESSION_EVENT_VIEWED","CALL_SESSION_EVENT_VIEWED","_callee6","_context6","CALL_HISTORY_USER_SESSIONS_DELETED","MOCK_SESSION_EVENT_DELETED","CALL_SESSION_EVENT_DELETED","methodDetails","UPDATE_MISSED_CALLS","afterEach","clearAllMocks","_callee7","_context7","global","fetch","fn","status","ok","json","MOCK_UPDATE_MISSED_CALL_RESPONSE","_callee8","endTimeSessionIds","convertedEndTimeSessionIds","_t","_t2","_t3","_t4","_t5","_t6","_t7","_context8","endTime","sessionId","updateMissedCalls","map","session","Date","getTime","janusSetReadStateUrl","HTTP_METHODS","POST","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","toBeCalledOnceWith","headers","METHOD_START_MESSAGE","_callee9","_t8","_t9","_t0","_t1","_t10","_t11","_t12","_context9","toStrictEqual","ERROR_DETAILS_400","toBeCalledWith","_callee0","_t13","_t14","_t15","_t16","_t17","_t18","_t19","_context0","ERROR_DETAILS_401","_callee1","ucmLinesAPIPayload","_context1","MOCK_LINES_API_CALL_RESPONSE","FETCH_UCM_LINES_DATA","_callee10","_context10","error","_callee11","fetchUCMLinesDataSpy","mockCallHistoryPayload","_context11","mockReturnValue","CALLING_BACKEND","UCM","MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER","self","ucmLineNumber","_callee12","_context12","MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA","MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER","cucmDN","toBeDefined","undefined","_callee13","_context13","_callee14","_context14","WXC","DELETE_CALL_HISTORY_RECORDS","_callee15","_context15","MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE","_callee16","deleteSessionIds","_t20","_t21","_t22","_t23","_t24","_t25","_t26","_context16","deleteCallHistoryRecords","janusMarkAsDeletedUrl","_callee17","_t27","_t28","_t29","_t30","_t31","_t32","_t33","_context17","_callee18","_t34","_t35","_t36","_t37","_t38","_t39","_t40","_context18","_callee19","_context19","MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE","webexRequestSpy","restoreAllMocks","_callee20","callArgs","_context20","uri","toContain","GET","service","_callee21","_context21","_callee22","_context22","BWRKS","_callee23","_context23","_callee24","_context24","toMatch"],"sources":["CallHistory.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable dot-notation */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {CALLING_BACKEND, HTTP_METHODS, SORT, SORT_BY, WebexRequestPayload} from '../common/types';\nimport {CallHistory, createCallHistoryClient} from './CallHistory';\nimport {ICallHistory} from './types';\nimport {\n sortedCallHistory,\n mockCallHistoryBody,\n MOCK_SESSION_EVENT,\n MOCK_SESSION_EVENT_LEGACY,\n MOCK_SESSION_EVENT_VIEWED,\n MOCK_UPDATE_MISSED_CALL_RESPONSE,\n janusSetReadStateUrl,\n ERROR_DETAILS_401,\n ERROR_DETAILS_400,\n MOCK_LINES_API_CALL_RESPONSE,\n MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA,\n MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER,\n MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER,\n MOCK_SESSION_EVENT_DELETED,\n MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE,\n janusMarkAsDeletedUrl,\n MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE,\n} from './callHistoryFixtures';\nimport {\n COMMON_EVENT_KEYS,\n CallSessionDeletedEvent,\n CallSessionEvent,\n CallSessionViewedEvent,\n MOBIUS_EVENT_KEYS,\n} from '../Events/types';\nimport {APPLICATION_JSON, CALL_HISTORY_FILE, CONTENT_TYPE, METHODS} from './constants';\nimport * as utils from '../common/Utils';\nimport log from '../Logger';\nimport {METHOD_START_MESSAGE} from '../common/constants';\n\nconst webex = getTestUtilsWebex();\nlet serviceErrorCodeHandlerSpy: jest.SpyInstance;\nlet uploadLogsSpy: jest.SpyInstance;\n\ndescribe('Call history tests', () => {\n let callHistory: ICallHistory;\n const infoSpy = jest.spyOn(log, 'info').mockImplementation();\n const logSpy = jest.spyOn(log, 'log').mockImplementation();\n const errorSpy = jest.spyOn(log, 'error').mockImplementation();\n\n beforeAll(() => {\n callHistory = new CallHistory(webex, {level: LOGGER.INFO});\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful call history case', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logging behavior\n expect(infoSpy).toHaveBeenCalled();\n expect(logSpy).toHaveBeenCalled();\n expect(errorSpy).not.toHaveBeenCalled();\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=10, sort=DESC, sortBy=endTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved call history data'),\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed call history case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 2000, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=2000, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalledWith(\n `Failed to get call history: ${JSON.stringify(failurePayload)}`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('verify device not found call history case', async () => {\n const failurePayload = {\n statusCode: 404,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(0, 0, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(404);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=0, limit=0, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalledWith(\n `Failed to get call history: ${JSON.stringify(failurePayload)}`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.GET_CALL_HISTORY_DATA,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n describe('sorting user session response data by sortby', () => {\n it('Array should be sort.ASC by START TIME ', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(10, 20, SORT.ASC, SORT_BY.START_TIME);\n\n const responseDetails = {\n statusCode: sortedCallHistory.body.statusCode,\n data: {\n userSessions: sortedCallHistory.body.userSessions,\n },\n message: 'SUCCESS',\n };\n\n expect(response).toEqual(responseDetails);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=10, limit=20, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n });\n });\n\n describe('Call History Session Event test', () => {\n const mockOn = webex.internal.mercury.on;\n let callHistory: ICallHistory;\n\n beforeEach(() => {\n callHistory = createCallHistoryClient(webex, {level: LOGGER.INFO});\n });\n\n it('verify the recent user session event ', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[0][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);\n const callSessionCallback = mockOn.mock.calls[0][1];\n\n callSessionCallback(MOCK_SESSION_EVENT);\n });\n\n it('verify the user session event received for locus calls', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_LEGACY.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[1][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY);\n const callSessionCallback = mockOn.mock.calls[1][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_LEGACY);\n });\n\n it('verify the user viewed session event for missed calls update', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n (event: CallSessionViewedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_VIEWED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[2][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED);\n const callSessionCallback = mockOn.mock.calls[2][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_VIEWED);\n });\n });\n\n it('verify the user sessions deleted event for deleting the call history records', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n (event: CallSessionDeletedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_DELETED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[3][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED);\n const callSessionCallback = mockOn.mock.calls[3][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_DELETED);\n });\n });\n });\n\n describe('Update missed calls test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n };\n afterEach(() => {\n jest.clearAllMocks();\n });\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_UPDATE_MISSED_CALL_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully updates missed calls', async () => {\n const endTimeSessionIds = [{endTime: '1234568', sessionId: '123'}];\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_UPDATE_MISSED_CALL_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(convertedEndTimeSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n 'Missed calls are successfully read by the user',\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: updateMissedCalls throw 400 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toBeCalledWith(\n expect.stringContaining('Failed to update missed calls'),\n methodDetails\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: updateMissedCalls throw 401 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('fetchUCMLinesData test', () => {\n beforeEach(() => {\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful UCM lines API case', async () => {\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>MOCK_LINES_API_CALL_RESPONSE);\n\n webex.request.mockResolvedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793',\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(logSpy).toHaveBeenCalledWith('Line details fetched successfully', {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n });\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed UCM lines API case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.data.error).toEqual(ERROR_DETAILS_400.data.error);\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(\n {statusCode: 400},\n {file: CALL_HISTORY_FILE, method: METHODS.FETCH_UCM_LINES_DATA}\n );\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('should call fetchUCMLinesData when calling backend is UCM and userSessions contain valid cucmDN', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(1);\n });\n\n it('should fetchUCMLinesData but not assign ucmLineNumber when UCM backend has no line data', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(response.data.userSessions && response.data.userSessions[0].self.cucmDN).toBeDefined();\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(undefined);\n });\n\n it('should not call fetchUCMLinesData when calling backend is UCM but no valid cucmDN is present', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled();\n });\n\n it('should not call fetchUCMLinesData when calling backend is not UCM', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled(); // Check that fetchUCMLinesData was not called\n });\n });\n\n describe('Delete call history records test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n };\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully deletes the call history records', async () => {\n const deleteSessionIds = [{endTime: '2024-10-22T08:50:48.603Z', sessionId: '123'}];\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(deleteSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully deleted ${deleteSessionIds.length} call history records`,\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: deleteCallHistoryRecords throw 400 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: deleteCallHistoryRecords throw 401 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toBeCalledWith(\n expect.stringContaining('Failed to delete call history records'),\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n }\n );\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('handles invalid date formats gracefully', async () => {\n const deleteSessionIds = [{endTime: 'invalid-date', sessionId: '123'}];\n\n // Mock the response to be 400 and trigger an error in your function\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n\n expect(response.statusCode).toBe(400);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('The provided date is malformed or invalid'),\n methodDetails\n );\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('URL construction for shared sessions based on calling backend', () => {\n let webexRequestSpy: jest.SpyInstance;\n\n beforeEach(() => {\n webexRequestSpy = jest.spyOn(webex, 'request').mockResolvedValue({\n statusCode: 200,\n body: {\n statusCode: 200,\n userSessions: [],\n },\n });\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n it('should include includeSharedSessions=true for WXC backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).toContain('&includeSharedSessions=true');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for UCM backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for BWRKS backend', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.BWRKS);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should NOT include includeSharedSessions for unknown/other backends', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue('OTHER_BACKEND' as any);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).not.toContain('includeSharedSessions');\n expect(callArgs.method).toBe(HTTP_METHODS.GET);\n expect(callArgs.service).toBe('janus');\n });\n\n it('should construct URL correctly with base parameters for all backends', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n const callArgs = webexRequestSpy.mock.calls[0][0];\n expect(callArgs.uri).toMatch(\n /.*\\/history\\/userSessions.*limit=10.*includeNewSessionTypes=true.*sort=DESC.*/\n );\n expect(callArgs.uri).toContain('&includeSharedSessions=true');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,7 +54,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
54
54
|
/**
|
|
55
55
|
* Setup and initialize the Call Settings backend connector class object.
|
|
56
56
|
*/
|
|
57
|
-
(0, _createClass2.default)(CallSettings, [{
|
|
57
|
+
return (0, _createClass2.default)(CallSettings, [{
|
|
58
58
|
key: "initializeBackendConnector",
|
|
59
59
|
value: function initializeBackendConnector(logger, useProdWebexApis) {
|
|
60
60
|
this.callingBackend = (0, _Utils.getCallingBackEnd)(this.webex);
|
|
@@ -82,7 +82,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
82
82
|
key: "getCallWaitingSetting",
|
|
83
83
|
value: (function () {
|
|
84
84
|
var _getCallWaitingSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
85
|
-
return _regenerator.default.wrap(function
|
|
85
|
+
return _regenerator.default.wrap(function (_context) {
|
|
86
86
|
while (1) switch (_context.prev = _context.next) {
|
|
87
87
|
case 0:
|
|
88
88
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -90,7 +90,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
90
90
|
method: _constants2.METHODS.GET_CALL_WAITING_SETTING
|
|
91
91
|
});
|
|
92
92
|
return _context.abrupt("return", this.backendConnector.getCallWaitingSetting());
|
|
93
|
-
case
|
|
93
|
+
case 1:
|
|
94
94
|
case "end":
|
|
95
95
|
return _context.stop();
|
|
96
96
|
}
|
|
@@ -109,7 +109,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
109
109
|
key: "getDoNotDisturbSetting",
|
|
110
110
|
value: (function () {
|
|
111
111
|
var _getDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
112
|
-
return _regenerator.default.wrap(function
|
|
112
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
113
113
|
while (1) switch (_context2.prev = _context2.next) {
|
|
114
114
|
case 0:
|
|
115
115
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -117,7 +117,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
117
117
|
method: _constants2.METHODS.GET_DO_NOT_DISTURB_SETTING
|
|
118
118
|
});
|
|
119
119
|
return _context2.abrupt("return", this.backendConnector.getDoNotDisturbSetting());
|
|
120
|
-
case
|
|
120
|
+
case 1:
|
|
121
121
|
case "end":
|
|
122
122
|
return _context2.stop();
|
|
123
123
|
}
|
|
@@ -137,7 +137,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
137
137
|
key: "setDoNotDisturbSetting",
|
|
138
138
|
value: (function () {
|
|
139
139
|
var _setDoNotDisturbSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(enabled) {
|
|
140
|
-
return _regenerator.default.wrap(function
|
|
140
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
141
141
|
while (1) switch (_context3.prev = _context3.next) {
|
|
142
142
|
case 0:
|
|
143
143
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -145,7 +145,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
145
145
|
method: _constants2.METHODS.SET_DO_NOT_DISTURB_SETTING
|
|
146
146
|
});
|
|
147
147
|
return _context3.abrupt("return", this.backendConnector.setDoNotDisturbSetting(enabled));
|
|
148
|
-
case
|
|
148
|
+
case 1:
|
|
149
149
|
case "end":
|
|
150
150
|
return _context3.stop();
|
|
151
151
|
}
|
|
@@ -165,7 +165,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
165
165
|
key: "getCallForwardSetting",
|
|
166
166
|
value: (function () {
|
|
167
167
|
var _getCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
168
|
-
return _regenerator.default.wrap(function
|
|
168
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
169
169
|
while (1) switch (_context4.prev = _context4.next) {
|
|
170
170
|
case 0:
|
|
171
171
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -173,7 +173,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
173
173
|
method: _constants2.METHODS.GET_CALL_FORWARD_SETTING
|
|
174
174
|
});
|
|
175
175
|
return _context4.abrupt("return", this.backendConnector.getCallForwardSetting());
|
|
176
|
-
case
|
|
176
|
+
case 1:
|
|
177
177
|
case "end":
|
|
178
178
|
return _context4.stop();
|
|
179
179
|
}
|
|
@@ -193,7 +193,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
193
193
|
key: "setCallForwardSetting",
|
|
194
194
|
value: (function () {
|
|
195
195
|
var _setCallForwardSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(callForwardingRequest) {
|
|
196
|
-
return _regenerator.default.wrap(function
|
|
196
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
197
197
|
while (1) switch (_context5.prev = _context5.next) {
|
|
198
198
|
case 0:
|
|
199
199
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -201,7 +201,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
201
201
|
method: _constants2.METHODS.SET_CALL_FORWARD_SETTING
|
|
202
202
|
});
|
|
203
203
|
return _context5.abrupt("return", this.backendConnector.setCallForwardSetting(callForwardingRequest));
|
|
204
|
-
case
|
|
204
|
+
case 1:
|
|
205
205
|
case "end":
|
|
206
206
|
return _context5.stop();
|
|
207
207
|
}
|
|
@@ -220,7 +220,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
220
220
|
key: "getVoicemailSetting",
|
|
221
221
|
value: (function () {
|
|
222
222
|
var _getVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
223
|
-
return _regenerator.default.wrap(function
|
|
223
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
224
224
|
while (1) switch (_context6.prev = _context6.next) {
|
|
225
225
|
case 0:
|
|
226
226
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -228,7 +228,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
228
228
|
method: _constants2.METHODS.GET_VOICEMAIL_SETTING
|
|
229
229
|
});
|
|
230
230
|
return _context6.abrupt("return", this.backendConnector.getVoicemailSetting());
|
|
231
|
-
case
|
|
231
|
+
case 1:
|
|
232
232
|
case "end":
|
|
233
233
|
return _context6.stop();
|
|
234
234
|
}
|
|
@@ -248,7 +248,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
248
248
|
key: "setVoicemailSetting",
|
|
249
249
|
value: (function () {
|
|
250
250
|
var _setVoicemailSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(voicemailRequest) {
|
|
251
|
-
return _regenerator.default.wrap(function
|
|
251
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
252
252
|
while (1) switch (_context7.prev = _context7.next) {
|
|
253
253
|
case 0:
|
|
254
254
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -256,7 +256,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
256
256
|
method: _constants2.METHODS.SET_VOICEMAIL_SETTING
|
|
257
257
|
});
|
|
258
258
|
return _context7.abrupt("return", this.backendConnector.setVoicemailSetting(voicemailRequest));
|
|
259
|
-
case
|
|
259
|
+
case 1:
|
|
260
260
|
case "end":
|
|
261
261
|
return _context7.stop();
|
|
262
262
|
}
|
|
@@ -278,7 +278,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
278
278
|
key: "getCallForwardAlwaysSetting",
|
|
279
279
|
value: (function () {
|
|
280
280
|
var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(directoryNumber) {
|
|
281
|
-
return _regenerator.default.wrap(function
|
|
281
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
282
282
|
while (1) switch (_context8.prev = _context8.next) {
|
|
283
283
|
case 0:
|
|
284
284
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
@@ -286,7 +286,7 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
286
286
|
method: _constants2.METHODS.GET_CALL_FORWARD_ALWAYS_SETTING
|
|
287
287
|
});
|
|
288
288
|
return _context8.abrupt("return", this.backendConnector.getCallForwardAlwaysSetting(directoryNumber));
|
|
289
|
-
case
|
|
289
|
+
case 1:
|
|
290
290
|
case "end":
|
|
291
291
|
return _context8.stop();
|
|
292
292
|
}
|
|
@@ -298,7 +298,6 @@ var CallSettings = exports.CallSettings = /*#__PURE__*/function () {
|
|
|
298
298
|
return getCallForwardAlwaysSetting;
|
|
299
299
|
}())
|
|
300
300
|
}]);
|
|
301
|
-
return CallSettings;
|
|
302
301
|
}();
|
|
303
302
|
/**
|
|
304
303
|
* Creates an instance of CallSettings Client.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_Utils","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants2","_UcmBackendConnector","CallSettings","exports","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","METHOD_START_MESSAGE","file","method","METHODS","INITIALIZE_BACKEND_CONNECTOR","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","GET_CALL_WAITING_SETTING","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_callee2$","_context2","GET_DO_NOT_DISTURB_SETTING","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_callee3$","_context3","SET_DO_NOT_DISTURB_SETTING","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_callee4$","_context4","GET_CALL_FORWARD_SETTING","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","SET_CALL_FORWARD_SETTING","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_callee6$","_context6","GET_VOICEMAIL_SETTING","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","SET_VOICEMAIL_SETTING","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_callee8$","_context8","GET_CALL_FORWARD_ALWAYS_SETTING","getCallForwardAlwaysSetting","_x4","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE, METHODS} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`${METHOD_START_MESSAGE} with ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.INITIALIZE_BACKEND_CONNECTOR,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n });\n\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n });\n\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n });\n\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n });\n\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n });\n\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n });\n\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n });\n\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n });\n\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":";;;;;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AASA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,uBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AAjBA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA,IAYaS,YAAY,GAAAC,OAAA,CAAAD,YAAA;EASvB;AACF;AACA;EACE,SAAAA,aAAYE,KAAe,EAAEC,MAAuB,EAAEC,gBAA0B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAN,YAAA;IAAA,IAAAO,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAChF,IAAI,CAACE,YAAY,GAAGC,qBAAY;IAEhC,IAAI,CAAC,IAAI,CAACD,YAAY,CAACE,QAAQ,CAAC,CAAC,EAAE;MACjCD,qBAAY,CAACE,QAAQ,CAACT,KAAK,CAAC;IAC9B;IAEAU,eAAG,CAACC,SAAS,CAACV,MAAM,CAACW,KAAK,EAAEC,8BAAkB,CAAC;IAC/C,IAAI,CAACb,KAAK,GAAG,IAAI,CAACM,YAAY,CAACE,QAAQ,CAAC,CAAC;IACzC,IAAI,CAACM,0BAA0B,CAACb,MAAM,EAAEC,gBAAgB,CAAC;EAC3D;;EAEA;AACF;AACA;EAFE,IAAAa,aAAA,CAAAX,OAAA,EAAAN,YAAA;IAAAkB,GAAA;IAAAC,KAAA,EAGA,SAAAH,2BAAmCb,MAAuB,EAAEC,gBAA0B,EAAE;MACtF,IAAI,CAACgB,cAAc,GAAG,IAAAC,wBAAiB,EAAC,IAAI,CAACnB,KAAK,CAAC;MACnDU,eAAG,CAACU,IAAI,IAAAC,MAAA,CAAIC,+BAAoB,YAAAD,MAAA,CAAS,IAAI,CAACH,cAAc,eAAY;QACtEK,IAAI,EAAEV,8BAAkB;QACxBW,MAAM,EAAEC,mBAAO,CAACC;MAClB,CAAC,CAAC;MAEF,QAAQ,IAAI,CAACR,cAAc;QACzB,KAAKS,sBAAe,CAACC,KAAK;QAC1B,KAAKD,sBAAe,CAACE,GAAG;UACtB,IAAI,CAACC,gBAAgB,GAAG,IAAIC,8CAAsB,CAAC,IAAI,CAAC/B,KAAK,EAAEC,MAAM,CAAC;UACtE;QAEF,KAAK0B,sBAAe,CAACK,GAAG;UACtB,IAAI,CAACF,gBAAgB,GAAG,IAAIG,wCAAmB,CAAC,IAAI,CAACjC,KAAK,EAAEC,MAAM,EAAEC,gBAAgB,CAAC;UACrF;QAEF;UACE,MAAM,IAAIgC,KAAK,CAAC,gDAAgD,CAAC;MACrE;IACF;;IAEA;AACF;AACA;EAFE;IAAAlB,GAAA;IAAAC,KAAA;MAAA,IAAAkB,sBAAA,OAAAC,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAGA,SAAAC,QAAA;QAAA,OAAAF,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACElC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAACoB;cAClB,CAAC,CAAC;cAAC,OAAAH,QAAA,CAAAI,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAACiB,qBAAqB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CACrD;MAAA,SAAAQ,sBAAA;QAAA,OAAAZ,sBAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAH,qBAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAA/B,GAAA;IAAAC,KAAA;MAAA,IAAAkC,uBAAA,OAAAf,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAGA,SAAAc,SAAA;QAAA,OAAAf,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAa,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;YAAA;cACElC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAAC8B;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAAR,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAAC0B,sBAAsB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAF,SAAA,CAAAN,IAAA;UAAA;QAAA,GAAAI,QAAA;MAAA,CACtD;MAAA,SAAAI,uBAAA;QAAA,OAAAL,uBAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAM,sBAAA;IAAA;IAED;AACF;AACA;AACA;IAHE;EAAA;IAAAxC,GAAA;IAAAC,KAAA;MAAA,IAAAwC,uBAAA,OAAArB,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAIA,SAAAoB,SAAoCC,OAAgB;QAAA,OAAAtB,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAoB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAlB,IAAA,GAAAkB,SAAA,CAAAjB,IAAA;YAAA;cAClDlC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAACqC;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAAf,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAACiC,sBAAsB,CAACJ,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAb,IAAA;UAAA;QAAA,GAAAU,QAAA;MAAA,CAC7D;MAAA,SAAAK,uBAAAC,EAAA;QAAA,OAAAP,uBAAA,CAAAR,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAa,sBAAA;IAAA;IAED;AACF;AACA;AACA;IAHE;EAAA;IAAA/C,GAAA;IAAAC,KAAA;MAAA,IAAAgD,sBAAA,OAAA7B,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAIA,SAAA4B,SAAA;QAAA,OAAA7B,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAA2B,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;YAAA;cACElC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAAC4C;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAAtB,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAACwC,qBAAqB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAF,SAAA,CAAApB,IAAA;UAAA;QAAA,GAAAkB,QAAA;MAAA,CACrD;MAAA,SAAAI,sBAAA;QAAA,OAAAL,sBAAA,CAAAhB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAoB,qBAAA;IAAA;IAED;AACF;AACA;AACA;IAHE;EAAA;IAAAtD,GAAA;IAAAC,KAAA;MAAA,IAAAsD,sBAAA,OAAAnC,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAIA,SAAAkC,SACEC,qBAAyC;QAAA,OAAApC,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAkC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhC,IAAA,GAAAgC,SAAA,CAAA/B,IAAA;YAAA;cAEzClC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAACmD;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAA7B,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAAC+C,qBAAqB,CAACJ,qBAAqB,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAA3B,IAAA;UAAA;QAAA,GAAAwB,QAAA;MAAA,CAC1E;MAAA,SAAAK,sBAAAC,GAAA;QAAA,OAAAP,sBAAA,CAAAtB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA2B,qBAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAA7D,GAAA;IAAAC,KAAA;MAAA,IAAA8D,oBAAA,OAAA3C,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAGA,SAAA0C,SAAA;QAAA,OAAA3C,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAyC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvC,IAAA,GAAAuC,SAAA,CAAAtC,IAAA;YAAA;cACElC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAAC0D;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAApC,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAACsD,mBAAmB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAF,SAAA,CAAAlC,IAAA;UAAA;QAAA,GAAAgC,QAAA;MAAA,CACnD;MAAA,SAAAI,oBAAA;QAAA,OAAAL,oBAAA,CAAA9B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAkC,mBAAA;IAAA;IAED;AACF;AACA;AACA;IAHE;EAAA;IAAApE,GAAA;IAAAC,KAAA;MAAA,IAAAoE,oBAAA,OAAAjD,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAIA,SAAAgD,SACEC,gBAAkC;QAAA,OAAAlD,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAgD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9C,IAAA,GAAA8C,SAAA,CAAA7C,IAAA;YAAA;cAElClC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAACiE;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAA3C,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAAC6D,mBAAmB,CAACJ,gBAAgB,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAzC,IAAA;UAAA;QAAA,GAAAsC,QAAA;MAAA,CACnE;MAAA,SAAAK,oBAAAC,GAAA;QAAA,OAAAP,oBAAA,CAAApC,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAyC,mBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;IALE;EAAA;IAAA3E,GAAA;IAAAC,KAAA;MAAA,IAAA4E,4BAAA,OAAAzD,kBAAA,CAAAhC,OAAA,eAAAiC,YAAA,CAAAjC,OAAA,CAAAkC,IAAA,CAMA,SAAAwD,SAAyCC,eAAwB;QAAA,OAAA1D,YAAA,CAAAjC,OAAA,CAAAoC,IAAA,UAAAwD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtD,IAAA,GAAAsD,SAAA,CAAArD,IAAA;YAAA;cAC/DlC,eAAG,CAACU,IAAI,CAACE,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEV,8BAAkB;gBACxBW,MAAM,EAAEC,mBAAO,CAACyE;cAClB,CAAC,CAAC;cAAC,OAAAD,SAAA,CAAAnD,MAAA,WAEI,IAAI,CAAChB,gBAAgB,CAACqE,2BAA2B,CAACJ,eAAe,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAjD,IAAA;UAAA;QAAA,GAAA8C,QAAA;MAAA,CAC1E;MAAA,SAAAK,4BAAAC,GAAA;QAAA,OAAAP,4BAAA,CAAA5C,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAiD,2BAAA;IAAA;EAAA;EAAA,OAAArG,YAAA;AAAA;AAGH;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuG,wBAAwB,GAAAtG,OAAA,CAAAsG,wBAAA,GAAG,SAA3BA,wBAAwBA,CACnCrG,KAAe,EACfC,MAAuB,EACvBC,gBAA0B;EAAA,OACR,IAAIJ,YAAY,CAACE,KAAK,EAAEC,MAAM,EAAEC,gBAAgB,CAAC;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_constants","require","_Utils","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants2","_UcmBackendConnector","CallSettings","exports","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","METHOD_START_MESSAGE","file","method","METHODS","INITIALIZE_BACKEND_CONNECTOR","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","GET_CALL_WAITING_SETTING","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_context2","GET_DO_NOT_DISTURB_SETTING","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_context3","SET_DO_NOT_DISTURB_SETTING","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_context4","GET_CALL_FORWARD_SETTING","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_context5","SET_CALL_FORWARD_SETTING","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_context6","GET_VOICEMAIL_SETTING","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_context7","SET_VOICEMAIL_SETTING","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_context8","GET_CALL_FORWARD_ALWAYS_SETTING","getCallForwardAlwaysSetting","_x4","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE, METHODS} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`${METHOD_START_MESSAGE} with ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.INITIALIZE_BACKEND_CONNECTOR,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n });\n\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n });\n\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n });\n\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n });\n\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n });\n\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n });\n\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n });\n\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n log.info(METHOD_START_MESSAGE, {\n file: CALL_SETTINGS_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n });\n\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":"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","ignoreList":[]}
|