@webex/calling 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/CallHistory/CallHistory.js +596 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +916 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +650 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +38 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallSettings/CallSettings.js +311 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +308 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +597 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +31 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +68 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +1119 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +1266 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +101 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +275 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +275 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +3486 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +3612 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +460 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +741 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +74 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +143 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +243 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +332 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +327 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +21 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1686 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +1885 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +36 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/registration/webWorker.js +130 -0
  74. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  75. package/dist/CallingClient/registration/webWorker.test.js +303 -0
  76. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  77. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  78. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  79. package/dist/CallingClient/types.js +7 -0
  80. package/dist/CallingClient/types.js.map +1 -0
  81. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  82. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  83. package/dist/Contacts/ContactsClient.js +1206 -0
  84. package/dist/Contacts/ContactsClient.js.map +1 -0
  85. package/dist/Contacts/ContactsClient.test.js +1004 -0
  86. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  87. package/dist/Contacts/constants.js +40 -0
  88. package/dist/Contacts/constants.js.map +1 -0
  89. package/dist/Contacts/contactFixtures.js +430 -0
  90. package/dist/Contacts/contactFixtures.js.map +1 -0
  91. package/dist/Contacts/types.js +43 -0
  92. package/dist/Contacts/types.js.map +1 -0
  93. package/dist/Errors/catalog/CallError.js +89 -0
  94. package/dist/Errors/catalog/CallError.js.map +1 -0
  95. package/dist/Errors/catalog/CallingDeviceError.js +83 -0
  96. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  97. package/dist/Errors/catalog/ExtendedError.js +42 -0
  98. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  99. package/dist/Errors/catalog/LineError.js +85 -0
  100. package/dist/Errors/catalog/LineError.js.map +1 -0
  101. package/dist/Errors/index.js +28 -0
  102. package/dist/Errors/index.js.map +1 -0
  103. package/dist/Errors/types.js +59 -0
  104. package/dist/Errors/types.js.map +1 -0
  105. package/dist/Events/impl/index.js +79 -0
  106. package/dist/Events/impl/index.js.map +1 -0
  107. package/dist/Events/types.js +107 -0
  108. package/dist/Events/types.js.map +1 -0
  109. package/dist/Logger/index.js +228 -0
  110. package/dist/Logger/index.js.map +1 -0
  111. package/dist/Logger/index.test.js +87 -0
  112. package/dist/Logger/index.test.js.map +1 -0
  113. package/dist/Logger/types.js +34 -0
  114. package/dist/Logger/types.js.map +1 -0
  115. package/dist/Metrics/index.js +534 -0
  116. package/dist/Metrics/index.js.map +1 -0
  117. package/dist/Metrics/index.test.js +463 -0
  118. package/dist/Metrics/index.test.js.map +1 -0
  119. package/dist/Metrics/types.js +64 -0
  120. package/dist/Metrics/types.js.map +1 -0
  121. package/dist/SDKConnector/index.js +102 -0
  122. package/dist/SDKConnector/index.js.map +1 -0
  123. package/dist/SDKConnector/index.test.js +9 -0
  124. package/dist/SDKConnector/index.test.js.map +1 -0
  125. package/dist/SDKConnector/types.js +7 -0
  126. package/dist/SDKConnector/types.js.map +1 -0
  127. package/dist/SDKConnector/utils.js +39 -0
  128. package/dist/SDKConnector/utils.js.map +1 -0
  129. package/dist/SDKConnector/utils.test.js +9 -0
  130. package/dist/SDKConnector/utils.test.js.map +1 -0
  131. package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
  132. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  133. package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
  134. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  135. package/dist/Voicemail/UcmBackendConnector.js +628 -0
  136. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
  138. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/Voicemail.js +472 -0
  140. package/dist/Voicemail/Voicemail.js.map +1 -0
  141. package/dist/Voicemail/Voicemail.test.js +391 -0
  142. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  143. package/dist/Voicemail/WxCallBackendConnector.js +657 -0
  144. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  145. package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
  146. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  147. package/dist/Voicemail/constants.js +61 -0
  148. package/dist/Voicemail/constants.js.map +1 -0
  149. package/dist/Voicemail/types.js +7 -0
  150. package/dist/Voicemail/types.js.map +1 -0
  151. package/dist/Voicemail/voicemailFixture.js +524 -0
  152. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  153. package/dist/api.js +157 -0
  154. package/dist/api.js.map +1 -0
  155. package/dist/common/Utils.js +1483 -0
  156. package/dist/common/Utils.js.map +1 -0
  157. package/dist/common/Utils.test.js +1989 -0
  158. package/dist/common/Utils.test.js.map +1 -0
  159. package/dist/common/constants.js +62 -0
  160. package/dist/common/constants.js.map +1 -0
  161. package/dist/common/index.js +19 -0
  162. package/dist/common/index.js.map +1 -0
  163. package/dist/common/testUtil.js +983 -0
  164. package/dist/common/testUtil.js.map +1 -0
  165. package/dist/common/types.js +75 -0
  166. package/dist/common/types.js.map +1 -0
  167. package/dist/index.js +321 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/module/CallHistory/CallHistory.js +28 -17
  170. package/dist/module/CallingClient/CallingClient.js +43 -1
  171. package/dist/module/CallingClient/calling/call.js +3 -2
  172. package/dist/module/CallingClient/constants.js +2 -0
  173. package/dist/module/CallingClient/registration/register.js +8 -0
  174. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  175. package/dist/types/CallingClient/CallingClient.d.ts +2 -1
  176. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  177. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  178. package/dist/types/CallingClient/constants.d.ts +2 -0
  179. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  180. package/dist/types/CallingClient/registration/register.d.ts +2 -1
  181. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  182. package/dist/types/CallingClient/registration/types.d.ts +2 -1
  183. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  184. package/dist/types/CallingClient/types.d.ts +2 -1
  185. package/dist/types/CallingClient/types.d.ts.map +1 -1
  186. package/dist/types/common/types.d.ts +4 -0
  187. package/dist/types/common/types.d.ts.map +1 -1
  188. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_testUtil","_types2","_voicemailFixture","_UcmBackendConnector","utils","_interopRequireWildcard","_constants","_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","ucmBackendConnector","webex","getTestUtilsWebex","voicemailPayload","serviceErrorCodeHandlerSpy","sdkConnector","messageId","mockUCMVoicemailBody","body","items","logSpy","infoSpy","warnSpy","errorSpy","jest","spyOn","mockResolvedValue","undefined","describe","responseDetails","statusCode","message","SUCCESS_MESSAGE","data","voicemailResponseInfo","getDescVoiceMailListJsonUCM","Message","listResponseDetails","beforeAll","version","internal","device","features","entitlement","models","_values","key","callingBehavior","UcmBackendConnector","level","LOGGER","INFO","init","getSDKConnector","getVoiceMailListJsonUCM","beforeEach","log","afterEach","clearAllMocks","it","expect","getWebex","toBeTruthy","userId","toBe","_asyncToGenerator2","_regenerator","mark","_callee","response","wrap","_context","prev","next","getVMTranscript","sent","toBeNull","toHaveBeenCalledWith","stop","_callee2","_context2","request","mockResolvedValueOnce","getVoicemailList","SORT","DESC","toStrictEqual","toBeCalledOnceWith","headers","orgId","method","HTTP_METHODS","GET","uri","concat","ucmBackendInfoUrl","voicemailContent","file","METHODS","GET_VOICEMAIL_LIST","not","toHaveBeenCalled","_callee3","voiceMailPayload","voicemailContentResponse","vmResponseDetails","_context3","mockVoicemailContentResponse","getVoicemailContent","type","content","deviceUrl","url","mercuryHostname","services","_serviceUrls","mercuryApi","CONTENT","METHOD_START_MESSAGE","GET_VOICEMAIL_CONTENT","_callee4","_context4","voicemailMarkAsRead","PUT","read","VOICEMAIL_MARK_AS_READ","_callee5","_context5","voicemailMarkAsUnread","VOICEMAIL_MARK_AS_UNREAD","_callee6","_context6","deleteVoicemail","DELETE","DELETE_VOICEMAIL","_callee7","_context7","resolveContact","resolveContactArgs","error","FAILURE_MESSAGE","responseDetails401","failurePayload","failurePayload401","_callee8","_context8","mockRejectedValueOnce","_callee9","vmContentSpy","failurePayload422","_context9","UNPROCESSABLE_CONTENT_CODE","mockRejectedValue","toBeCalledTimes","responseDetails422","_callee0","failureVoicemailResponse","failureVmResponseDetails","_context0","responseDetails204","_callee1","_context1","_callee10","_context10","_callee11","_context11","_callee12","_context12","_callee13","_context13","_callee14","_context14","_callee15","_context15","_callee16","_context16","getVoicemailSummary"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {HTTP_METHODS, SORT, WebexRequestPayload} from '../common/types';\nimport {\n getDescVoiceMailListJsonUCM,\n getVoiceMailListJsonUCM,\n mockUCMVoicemailBody,\n mockVoicemailContentResponse,\n orgId,\n resolveContactArgs,\n responseDetails204,\n responseDetails422,\n ucmBackendInfoUrl,\n voicemailContent,\n} from './voicemailFixture';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport * as utils from '../common/Utils';\nimport {\n CONTENT,\n FAILURE_MESSAGE,\n METHOD_START_MESSAGE,\n SUCCESS_MESSAGE,\n UNPROCESSABLE_CONTENT_CODE,\n} from '../common/constants';\nimport {VoicemailResponseEvent} from './types';\nimport {ISDKConnector} from '../SDKConnector/types';\nimport log from '../Logger';\nimport {METHODS} from './constants';\n\nlet ucmBackendConnector: UcmBackendConnector;\nconst webex = getTestUtilsWebex();\nlet voicemailPayload: WebexRequestPayload;\nlet serviceErrorCodeHandlerSpy;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nlet sdkConnector: ISDKConnector;\nconst messageId = mockUCMVoicemailBody.body.items['messageId'];\nlet logSpy;\nlet infoSpy;\nlet warnSpy;\nlet errorSpy;\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Voicemail UCM Backend Connector Test case', () => {\n const responseDetails = {\n statusCode: 200,\n message: SUCCESS_MESSAGE,\n data: {},\n };\n\n const voicemailResponseInfo = getDescVoiceMailListJsonUCM.body.Message;\n const listResponseDetails = {\n statusCode: 200,\n data: voicemailResponseInfo,\n message: SUCCESS_MESSAGE,\n };\n\n beforeAll(() => {\n webex.version = '2.31.1';\n webex.internal.device.version = '2.31.1';\n webex.internal.device.features.entitlement.models = [{_values: {key: 'ucm-calling'}}];\n webex.internal.device.callingBehavior = 'NATIVE_SIP_CALL_TO_UCM';\n ucmBackendConnector = new UcmBackendConnector(webex, {level: LOGGER.INFO});\n ucmBackendConnector.init();\n sdkConnector = ucmBackendConnector.getSDKConnector();\n voicemailPayload = getVoiceMailListJsonUCM;\n });\n\n beforeEach(() => {\n logSpy = jest.spyOn(log, 'log');\n infoSpy = jest.spyOn(log, 'info');\n warnSpy = jest.spyOn(log, 'warn');\n errorSpy = jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n it('verify UCM Backend Connector object', () => {\n expect(ucmBackendConnector.getSDKConnector().getWebex()).toBeTruthy();\n expect(ucmBackendConnector.getSDKConnector().getWebex().internal.device.userId).toBe(\n '8a67806f-fc4d-446b-a131-31e71ea5b0e9'\n );\n });\n\n it('verify fetching transcript returned null', async () => {\n const response = await ucmBackendConnector.getVMTranscript(\n '98099432-9d81-4224-bd04-00def73cd262'\n );\n\n expect(response).toBeNull();\n expect(infoSpy).toHaveBeenCalledWith('Message Id: 98099432-9d81-4224-bd04-00def73cd262', {});\n });\n\n it('verify successful voicemail list', async () => {\n webex.request.mockResolvedValueOnce(voicemailPayload);\n const response = await ucmBackendConnector.getVoicemailList(0, 20, SORT.DESC);\n\n expect(response).toStrictEqual(listResponseDetails);\n expect(webex.request).toBeCalledOnceWith({\n headers: {orgId},\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl + voicemailContent}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with Offset: 0 Offset limit: 20 Sort type:DESC',\n {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_LIST,\n }\n );\n expect(logSpy).toHaveBeenCalledWith('Successfully retrieved voicemail list', {\n file: 'UcmBackendConnector',\n method: 'getVoicemailList',\n });\n expect(warnSpy).not.toHaveBeenCalled();\n expect(errorSpy).not.toHaveBeenCalled();\n });\n\n it('verify successful voicemailContent', async () => {\n const voiceMailPayload = <VoicemailResponseEvent>(<unknown>mockVoicemailContentResponse);\n\n webex.request.mockResolvedValueOnce(voiceMailPayload);\n const response = (await ucmBackendConnector.getVoicemailContent(messageId)).data;\n const voicemailContentResponse = voicemailContent;\n const vmResponseDetails = {\n voicemailContent: {\n type: 'audio/wav',\n content: voicemailContentResponse,\n },\n };\n\n expect(response).toStrictEqual(vmResponseDetails);\n expect(webex.request).toBeCalledOnceWith({\n headers: {\n orgId,\n deviceUrl: webex.internal.device.url,\n mercuryHostname: webex.internal.services._serviceUrls.mercuryApi,\n },\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl}/${messageId}/${CONTENT}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n });\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully retrieved voicemail content with Message ID: ${messageId}`,\n {\n file: 'UcmBackendConnector',\n method: 'getVoicemailContent',\n }\n );\n });\n\n it('verify successful voicemailMarkAsRead', async () => {\n webex.request.mockResolvedValueOnce(voicemailPayload);\n\n const response = await ucmBackendConnector.voicemailMarkAsRead(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'true',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n });\n expect(logSpy).toHaveBeenCalledWith('Successfully marked voicemail as read', {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsRead',\n });\n });\n\n it('verify successful voicemailMarkAsUnread', async () => {\n webex.request.mockResolvedValueOnce(voicemailPayload);\n\n const response = await ucmBackendConnector.voicemailMarkAsUnread(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'false',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n });\n expect(logSpy).toHaveBeenCalledWith('Successfully marked voicemail as unread', {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsUnread',\n });\n });\n\n it('verify successful deleteVoicemail', async () => {\n webex.request.mockResolvedValueOnce(voicemailPayload);\n const response = await ucmBackendConnector.deleteVoicemail(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.DELETE,\n headers: {\n orgId,\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.DELETE_VOICEMAIL,\n });\n expect(logSpy).toHaveBeenCalledWith('Successfully deleted voicemail', {\n file: 'UcmBackendConnector',\n method: 'deleteVoicemail',\n });\n });\n\n it('verify resolution of contact to null', async () => {\n const response = await ucmBackendConnector.resolveContact(resolveContactArgs);\n\n expect(response).toBeNull();\n expect(infoSpy).toHaveBeenCalledWith(`Calling Party Info: ${resolveContactArgs}`, {});\n });\n});\n\ndescribe('Voicemail failure tests for UCM', () => {\n const responseDetails = {\n statusCode: 400,\n data: {error: '400 Bad request'},\n message: FAILURE_MESSAGE,\n };\n\n const responseDetails401 = {\n statusCode: 401,\n data: {error: 'User is unauthorised, possible token expiry'},\n message: FAILURE_MESSAGE,\n };\n\n const failurePayload = {\n statusCode: 400,\n };\n\n const failurePayload401 = {\n statusCode: 401,\n };\n\n beforeAll(() => {\n webex.version = '2.31.1';\n webex.internal.device.version = '2.31.1';\n webex.internal.device.features.entitlement.models = [{_values: {key: 'ucm-calling'}}];\n webex.internal.device.callingBehavior = 'NATIVE_SIP_CALL_TO_UCM';\n ucmBackendConnector = new UcmBackendConnector(webex, {level: LOGGER.INFO});\n ucmBackendConnector.init();\n voicemailPayload = getVoiceMailListJsonUCM;\n });\n beforeEach(() => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n logSpy = jest.spyOn(log, 'log');\n infoSpy = jest.spyOn(log, 'info');\n warnSpy = jest.spyOn(log, 'warn');\n errorSpy = jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n it('verify failure voicemail listing when bad request occur', async () => {\n webex.request.mockRejectedValueOnce(failurePayload);\n const response = await ucmBackendConnector.getVoicemailList(0, 20, SORT.DESC);\n\n expect(response).toStrictEqual(responseDetails);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: 'UcmBackendConnector',\n method: 'getVoicemailList',\n }\n );\n expect(webex.request).toBeCalledOnceWith({\n headers: {orgId},\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl + voicemailContent}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with Offset: 0 Offset limit: 20 Sort type:DESC',\n {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_LIST,\n }\n );\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemailContent when bad request occur', async () => {\n const vmContentSpy = jest.spyOn(ucmBackendConnector, 'getVoicemailContent');\n const failurePayload422 = {\n statusCode: UNPROCESSABLE_CONTENT_CODE,\n };\n\n webex.request.mockRejectedValue(failurePayload422);\n const response = await ucmBackendConnector.getVoicemailContent(messageId);\n\n expect(vmContentSpy).toBeCalledTimes(1);\n expect(response).toStrictEqual(responseDetails422);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: UNPROCESSABLE_CONTENT_CODE,\n },\n {\n file: 'UcmBackendConnector',\n method: 'getVoicemailContent',\n }\n );\n expect(webex.request).toBeCalledOnceWith({\n headers: {\n orgId,\n deviceUrl: webex.internal.device.url,\n mercuryHostname: webex.internal.services._serviceUrls.mercuryApi,\n },\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl}/${messageId}/${CONTENT}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemailContent when failure voicemail api response received', async () => {\n const vmContentSpy = jest.spyOn(ucmBackendConnector, 'getVoicemailContent');\n const failureVoicemailResponse = {\n statusCode: 204,\n };\n\n webex.request.mockResolvedValueOnce(failureVoicemailResponse);\n const response = await ucmBackendConnector.getVoicemailContent(messageId);\n const failureVmResponseDetails = {\n data: {\n voicemailContent: {\n type: undefined,\n content: undefined,\n },\n },\n message: FAILURE_MESSAGE,\n ...failureVoicemailResponse,\n };\n expect(vmContentSpy).toBeCalledTimes(1);\n expect(response).toStrictEqual(responseDetails204);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureVmResponseDetails, {\n file: 'UcmBackendConnector',\n method: 'getVoicemailContent',\n });\n expect(webex.request).toBeCalledOnceWith({\n headers: {\n orgId,\n deviceUrl: webex.internal.device.url,\n mercuryHostname: webex.internal.services._serviceUrls.mercuryApi,\n },\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl}/${messageId}/${CONTENT}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n });\n });\n\n it('verify failure voicemailMarkAsRead when bad request occur', async () => {\n webex.request.mockRejectedValue(failurePayload);\n\n const response = await ucmBackendConnector.voicemailMarkAsRead(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsRead',\n }\n );\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'true',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemailMarkAsUnread when bad request occur', async () => {\n webex.request.mockRejectedValue(failurePayload);\n const response = await ucmBackendConnector.voicemailMarkAsUnread(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsUnread',\n }\n );\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'false',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure delete voicemail when bad request occur', async () => {\n webex.request.mockRejectedValue(failurePayload);\n\n const response = await ucmBackendConnector.deleteVoicemail(messageId);\n\n expect(response).toStrictEqual(responseDetails);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: 'UcmBackendConnector',\n method: 'deleteVoicemail',\n }\n );\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.DELETE,\n headers: {\n orgId,\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.DELETE_VOICEMAIL,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemail listing when user is unauthorised, possible token expiry', async () => {\n webex.request.mockRejectedValue(failurePayload401);\n const response = await ucmBackendConnector.getVoicemailList(0, 20, SORT.DESC);\n\n expect(response).toStrictEqual(responseDetails401);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n {\n file: 'UcmBackendConnector',\n method: 'getVoicemailList',\n }\n );\n expect(webex.request).toBeCalledOnceWith({\n headers: {orgId},\n method: HTTP_METHODS.GET,\n uri: `${ucmBackendInfoUrl + voicemailContent}`,\n });\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with Offset: 0 Offset limit: 20 Sort type:DESC',\n {\n file: 'UcmBackendConnector',\n method: METHODS.GET_VOICEMAIL_LIST,\n }\n );\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemailMarkAsRead when user is unauthorised, possible token expiry', async () => {\n webex.request.mockRejectedValue(failurePayload401);\n\n const response = await ucmBackendConnector.voicemailMarkAsRead(messageId);\n\n expect(response).toStrictEqual(responseDetails401);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsRead',\n }\n );\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'true',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure voicemailMarkAsUnread when user is unauthorised, possible token expiry', async () => {\n webex.request.mockRejectedValue(failurePayload401);\n\n const response = await ucmBackendConnector.voicemailMarkAsUnread(messageId);\n\n expect(response).toStrictEqual(responseDetails401);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n {\n file: 'UcmBackendConnector',\n method: 'voicemailMarkAsUnread',\n }\n );\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.PUT,\n headers: {\n orgId,\n },\n body: {\n read: 'false',\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify failure delete voicemail when user is unauthorised, possible token expiry', async () => {\n webex.request.mockRejectedValue(failurePayload401);\n\n const response = await ucmBackendConnector.deleteVoicemail(messageId);\n\n expect(response).toStrictEqual(responseDetails401);\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n {\n file: 'UcmBackendConnector',\n method: 'deleteVoicemail',\n }\n );\n\n expect(webex.request).toBeCalledOnceWith({\n uri: `${ucmBackendInfoUrl}/${messageId}`,\n method: HTTP_METHODS.DELETE,\n headers: {\n orgId,\n },\n });\n expect(infoSpy).toHaveBeenCalledWith(`${METHOD_START_MESSAGE} with Message ID: ${messageId}`, {\n file: 'UcmBackendConnector',\n method: METHODS.DELETE_VOICEMAIL,\n });\n expect(errorSpy).toHaveBeenCalled();\n });\n\n it('verify fetching voicemail summary returned to be null', async () => {\n const response = await ucmBackendConnector.getVoicemailSummary();\n\n expect(response).toBeNull();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,472 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.createVoicemailClient = exports.Voicemail = void 0;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
17
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
+ var _constants = require("../common/constants");
20
+ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
21
+ var _types = require("../common/types");
22
+ var _Logger = _interopRequireDefault(require("../Logger"));
23
+ var _Utils = require("../common/Utils");
24
+ var _WxCallBackendConnector = require("./WxCallBackendConnector");
25
+ var _BroadworksBackendConnector = require("./BroadworksBackendConnector");
26
+ var _impl = require("../Events/impl");
27
+ var _UcmBackendConnector = require("./UcmBackendConnector");
28
+ var _types2 = require("../Metrics/types");
29
+ var _Metrics = require("../Metrics");
30
+ var _constants2 = require("./constants");
31
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
32
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable dot-notation */ /* eslint-disable no-underscore-dangle */ /* eslint-disable valid-jsdoc */
33
+ /**
34
+ * The `Voicemail` module is designed to simplify voicemail-related operations by offering a set of APIs.
35
+ *
36
+ * The following code snippet demonstrates how to create an instance of `Voicemail` using a `webex` instance and a logger:
37
+ *
38
+ * Example:
39
+ * ```javascript
40
+ * const voicemailInstance = createVoicemailClient(webex, logger);
41
+ * ```
42
+ */
43
+ var Voicemail = exports.Voicemail = /*#__PURE__*/function (_Eventing) {
44
+ /**
45
+ * @ignore
46
+ */
47
+ function Voicemail(webex, logger) {
48
+ var _this;
49
+ (0, _classCallCheck2.default)(this, Voicemail);
50
+ _this = _callSuper(this, Voicemail);
51
+ (0, _defineProperty2.default)(_this, "sdkConnector", void 0);
52
+ (0, _defineProperty2.default)(_this, "webex", void 0);
53
+ (0, _defineProperty2.default)(_this, "callingBackend", void 0);
54
+ (0, _defineProperty2.default)(_this, "backendConnector", void 0);
55
+ (0, _defineProperty2.default)(_this, "metricManager", void 0);
56
+ _this.logger = logger;
57
+ _this.sdkConnector = _SDKConnector.default;
58
+ if (!_this.sdkConnector.getWebex()) {
59
+ _SDKConnector.default.setWebex(webex);
60
+ }
61
+ _this.webex = _this.sdkConnector.getWebex();
62
+ _this.metricManager = (0, _Metrics.getMetricManager)(_this.webex, undefined);
63
+ _this.callingBackend = (0, _Utils.getCallingBackEnd)(_this.webex);
64
+ _this.initializeBackendConnector();
65
+ _Logger.default.setLogger(logger.level, _constants2.VOICEMAIL_FILE);
66
+ return _this;
67
+ }
68
+
69
+ /**
70
+ * Voicemail connector initialization.
71
+ *
72
+ */
73
+ (0, _inherits2.default)(Voicemail, _Eventing);
74
+ return (0, _createClass2.default)(Voicemail, [{
75
+ key: "init",
76
+ value: (function () {
77
+ var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
78
+ var loggerContext, response, _t;
79
+ return _regenerator.default.wrap(function (_context) {
80
+ while (1) switch (_context.prev = _context.next) {
81
+ case 0:
82
+ loggerContext = {
83
+ file: _constants2.VOICEMAIL_FILE,
84
+ method: _constants2.METHODS.INIT
85
+ };
86
+ _context.prev = 1;
87
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
88
+ response = this.backendConnector.init();
89
+ _Logger.default.log('Voicemail connector initialized successfully', loggerContext);
90
+ return _context.abrupt("return", response);
91
+ case 2:
92
+ _context.prev = 2;
93
+ _t = _context["catch"](1);
94
+ _Logger.default.error("Failed to initialize voicemail: ".concat((0, _stringify.default)(_t)), loggerContext);
95
+ _context.next = 3;
96
+ return (0, _Utils.uploadLogs)();
97
+ case 3:
98
+ throw _t;
99
+ case 4:
100
+ case "end":
101
+ return _context.stop();
102
+ }
103
+ }, _callee, this, [[1, 2]]);
104
+ }));
105
+ function init() {
106
+ return _init.apply(this, arguments);
107
+ }
108
+ return init;
109
+ }()
110
+ /**
111
+ * Setup and initialize the voicemail backend connector class object.
112
+ */
113
+ )
114
+ }, {
115
+ key: "initializeBackendConnector",
116
+ value: function initializeBackendConnector() {
117
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
118
+ file: _constants2.VOICEMAIL_FILE,
119
+ method: _constants2.METHODS.INITIALIZE_BACKEND_CONNECTOR
120
+ });
121
+ switch (this.callingBackend) {
122
+ case _types.CALLING_BACKEND.WXC:
123
+ {
124
+ this.backendConnector = new _WxCallBackendConnector.WxCallBackendConnector(this.webex, this.logger);
125
+ break;
126
+ }
127
+ case _types.CALLING_BACKEND.BWRKS:
128
+ {
129
+ this.backendConnector = new _BroadworksBackendConnector.BroadworksBackendConnector(this.webex, this.logger);
130
+ break;
131
+ }
132
+ case _types.CALLING_BACKEND.UCM:
133
+ {
134
+ this.backendConnector = new _UcmBackendConnector.UcmBackendConnector(this.webex, this.logger);
135
+ break;
136
+ }
137
+ default:
138
+ {
139
+ throw new Error('Calling backend is not identified, exiting....');
140
+ }
141
+ }
142
+ }
143
+
144
+ /**
145
+ * @param response - VoicemailResponseEvent to be used in submitting metric.
146
+ * @param metricAction - Action for the metric being submitted.
147
+ * @param messageId - Message identifier of the voicemail message.
148
+ */
149
+ }, {
150
+ key: "submitMetric",
151
+ value: function submitMetric(response, metricAction, messageId) {
152
+ var statusCode = response.statusCode,
153
+ errorMessage = response.data.error;
154
+ if (statusCode >= 200 && statusCode < 300) {
155
+ this.metricManager.submitVoicemailMetric(_types2.METRIC_EVENT.VOICEMAIL, metricAction, _types2.METRIC_TYPE.BEHAVIORAL, messageId);
156
+ } else {
157
+ this.metricManager.submitVoicemailMetric(_types2.METRIC_EVENT.VOICEMAIL_ERROR, metricAction, _types2.METRIC_TYPE.BEHAVIORAL, messageId, errorMessage, statusCode);
158
+ }
159
+ }
160
+
161
+ /**
162
+ * Retrieves a list of voicemails with optional pagination and sorting options.
163
+ *
164
+ * @param offset - Number of records to skip.
165
+ * @param offsetLimit - The limit on the number of voicemails to retrieve from the offset.
166
+ * @param sort - Sort voicemail list (ASC | DESC).
167
+ * @param refresh - Set to `true` to force a refresh of voicemail data from backend (optional).
168
+ */
169
+ }, {
170
+ key: "getVoicemailList",
171
+ value: (function () {
172
+ var _getVoicemailList = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(offset, offsetLimit, sort, refresh) {
173
+ var loggerContext, response, _t2;
174
+ return _regenerator.default.wrap(function (_context2) {
175
+ while (1) switch (_context2.prev = _context2.next) {
176
+ case 0:
177
+ loggerContext = {
178
+ file: _constants2.VOICEMAIL_FILE,
179
+ method: _constants2.METHODS.GET_VOICEMAIL_LIST
180
+ };
181
+ _context2.prev = 1;
182
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: offset=").concat(offset, ", limit=").concat(offsetLimit, ", sort=").concat(sort, ", refresh=").concat(refresh), loggerContext);
183
+ _context2.next = 2;
184
+ return this.backendConnector.getVoicemailList(offset, offsetLimit, sort, refresh);
185
+ case 2:
186
+ response = _context2.sent;
187
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.GET_VOICEMAILS);
188
+ _Logger.default.log("Successfully retrieved voicemail list: statusCode=".concat(response.statusCode), loggerContext);
189
+ return _context2.abrupt("return", response);
190
+ case 3:
191
+ _context2.prev = 3;
192
+ _t2 = _context2["catch"](1);
193
+ _Logger.default.error("Failed to get voicemail list: ".concat((0, _stringify.default)(_t2)), loggerContext);
194
+ _context2.next = 4;
195
+ return (0, _Utils.uploadLogs)();
196
+ case 4:
197
+ throw _t2;
198
+ case 5:
199
+ case "end":
200
+ return _context2.stop();
201
+ }
202
+ }, _callee2, this, [[1, 3]]);
203
+ }));
204
+ function getVoicemailList(_x, _x2, _x3, _x4) {
205
+ return _getVoicemailList.apply(this, arguments);
206
+ }
207
+ return getVoicemailList;
208
+ }()
209
+ /**
210
+ * Retrieves the content of a voicemail message based on its messageId.
211
+ *
212
+ * @param messageId - The identifier of the voicemail message.
213
+ */
214
+ )
215
+ }, {
216
+ key: "getVoicemailContent",
217
+ value: (function () {
218
+ var _getVoicemailContent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(messageId) {
219
+ var loggerContext, response;
220
+ return _regenerator.default.wrap(function (_context3) {
221
+ while (1) switch (_context3.prev = _context3.next) {
222
+ case 0:
223
+ loggerContext = {
224
+ file: _constants2.VOICEMAIL_FILE,
225
+ method: _constants2.METHODS.GET_VOICEMAIL_CONTENT
226
+ };
227
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: messageId=").concat(messageId), loggerContext);
228
+ _context3.next = 1;
229
+ return this.backendConnector.getVoicemailContent(messageId);
230
+ case 1:
231
+ response = _context3.sent;
232
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT, messageId);
233
+ _Logger.default.log("Successfully retrieved voicemail content for messageId=".concat(messageId, ", statusCode=").concat(response.statusCode), loggerContext);
234
+ return _context3.abrupt("return", response);
235
+ case 2:
236
+ case "end":
237
+ return _context3.stop();
238
+ }
239
+ }, _callee3, this);
240
+ }));
241
+ function getVoicemailContent(_x5) {
242
+ return _getVoicemailContent.apply(this, arguments);
243
+ }
244
+ return getVoicemailContent;
245
+ }()
246
+ /**
247
+ * Retrieves a quantitative summary of voicemails for a user.
248
+ *
249
+ */
250
+ )
251
+ }, {
252
+ key: "getVoicemailSummary",
253
+ value: (function () {
254
+ var _getVoicemailSummary = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
255
+ var loggerContext, response;
256
+ return _regenerator.default.wrap(function (_context4) {
257
+ while (1) switch (_context4.prev = _context4.next) {
258
+ case 0:
259
+ loggerContext = {
260
+ file: _constants2.VOICEMAIL_FILE,
261
+ method: _constants2.METHODS.GET_VOICEMAIL_SUMMARY
262
+ };
263
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
264
+ _context4.next = 1;
265
+ return this.backendConnector.getVoicemailSummary();
266
+ case 1:
267
+ response = _context4.sent;
268
+ /* istanbul ignore else */
269
+ if (response !== null) {
270
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY);
271
+ _Logger.default.log("Successfully retrieved voicemail summary: statusCode=".concat(response.statusCode), loggerContext);
272
+ }
273
+ return _context4.abrupt("return", response);
274
+ case 2:
275
+ case "end":
276
+ return _context4.stop();
277
+ }
278
+ }, _callee4, this);
279
+ }));
280
+ function getVoicemailSummary() {
281
+ return _getVoicemailSummary.apply(this, arguments);
282
+ }
283
+ return getVoicemailSummary;
284
+ }()
285
+ /**
286
+ * Fetch voicemail read message status for the messageId.
287
+ *
288
+ * @param messageId -string result from the voicemail list.
289
+ */
290
+ )
291
+ }, {
292
+ key: "voicemailMarkAsRead",
293
+ value: (function () {
294
+ var _voicemailMarkAsRead = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(messageId) {
295
+ var loggerContext, response;
296
+ return _regenerator.default.wrap(function (_context5) {
297
+ while (1) switch (_context5.prev = _context5.next) {
298
+ case 0:
299
+ loggerContext = {
300
+ file: _constants2.VOICEMAIL_FILE,
301
+ method: _constants2.METHODS.VOICEMAIL_MARK_AS_READ
302
+ };
303
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: messageId=").concat(messageId), loggerContext);
304
+ _context5.next = 1;
305
+ return this.backendConnector.voicemailMarkAsRead(messageId);
306
+ case 1:
307
+ response = _context5.sent;
308
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.MARK_READ, messageId);
309
+ _Logger.default.log("Successfully marked voicemail as read: messageId=".concat(messageId, ", statusCode=").concat(response.statusCode), loggerContext);
310
+ return _context5.abrupt("return", response);
311
+ case 2:
312
+ case "end":
313
+ return _context5.stop();
314
+ }
315
+ }, _callee5, this);
316
+ }));
317
+ function voicemailMarkAsRead(_x6) {
318
+ return _voicemailMarkAsRead.apply(this, arguments);
319
+ }
320
+ return voicemailMarkAsRead;
321
+ }()
322
+ /**
323
+ * Fetch voicemail unread status for the messageId.
324
+ *
325
+ * @param messageId -string result from the voicemail list.
326
+ */
327
+ )
328
+ }, {
329
+ key: "voicemailMarkAsUnread",
330
+ value: (function () {
331
+ var _voicemailMarkAsUnread = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(messageId) {
332
+ var loggerContext, response;
333
+ return _regenerator.default.wrap(function (_context6) {
334
+ while (1) switch (_context6.prev = _context6.next) {
335
+ case 0:
336
+ loggerContext = {
337
+ file: _constants2.VOICEMAIL_FILE,
338
+ method: _constants2.METHODS.VOICEMAIL_MARK_AS_UNREAD
339
+ };
340
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: messageId=").concat(messageId), loggerContext);
341
+ _context6.next = 1;
342
+ return this.backendConnector.voicemailMarkAsUnread(messageId);
343
+ case 1:
344
+ response = _context6.sent;
345
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.MARK_UNREAD, messageId);
346
+ _Logger.default.log("Successfully marked voicemail as unread: messageId=".concat(messageId, ", statusCode=").concat(response.statusCode), loggerContext);
347
+ return _context6.abrupt("return", response);
348
+ case 2:
349
+ case "end":
350
+ return _context6.stop();
351
+ }
352
+ }, _callee6, this);
353
+ }));
354
+ function voicemailMarkAsUnread(_x7) {
355
+ return _voicemailMarkAsUnread.apply(this, arguments);
356
+ }
357
+ return voicemailMarkAsUnread;
358
+ }()
359
+ /**
360
+ * Fetch voicemail delete status for the messageId.
361
+ *
362
+ * @param messageId -string result from the voicemail list.
363
+ */
364
+ )
365
+ }, {
366
+ key: "deleteVoicemail",
367
+ value: (function () {
368
+ var _deleteVoicemail = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(messageId) {
369
+ var loggerContext, response;
370
+ return _regenerator.default.wrap(function (_context7) {
371
+ while (1) switch (_context7.prev = _context7.next) {
372
+ case 0:
373
+ loggerContext = {
374
+ file: _constants2.VOICEMAIL_FILE,
375
+ method: _constants2.METHODS.DELETE_VOICEMAIL
376
+ };
377
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: messageId=").concat(messageId), loggerContext);
378
+ _context7.next = 1;
379
+ return this.backendConnector.deleteVoicemail(messageId);
380
+ case 1:
381
+ response = _context7.sent;
382
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.DELETE, messageId);
383
+ _Logger.default.log("Successfully deleted voicemail: messageId=".concat(messageId, ", statusCode=").concat(response.statusCode), loggerContext);
384
+ return _context7.abrupt("return", response);
385
+ case 2:
386
+ case "end":
387
+ return _context7.stop();
388
+ }
389
+ }, _callee7, this);
390
+ }));
391
+ function deleteVoicemail(_x8) {
392
+ return _deleteVoicemail.apply(this, arguments);
393
+ }
394
+ return deleteVoicemail;
395
+ }()
396
+ /**
397
+ * Fetch the voicemail transcripts for the messageId.
398
+ *
399
+ * @param messageId - MessageId for which we need the transcript.
400
+ */
401
+ )
402
+ }, {
403
+ key: "getVMTranscript",
404
+ value: (function () {
405
+ var _getVMTranscript = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(messageId) {
406
+ var loggerContext, response;
407
+ return _regenerator.default.wrap(function (_context8) {
408
+ while (1) switch (_context8.prev = _context8.next) {
409
+ case 0:
410
+ loggerContext = {
411
+ file: _constants2.VOICEMAIL_FILE,
412
+ method: _constants2.METHODS.GET_VM_TRANSCRIPT
413
+ };
414
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with: messageId=").concat(messageId), loggerContext);
415
+ _context8.next = 1;
416
+ return this.backendConnector.getVMTranscript(messageId);
417
+ case 1:
418
+ response = _context8.sent;
419
+ if (response !== null) {
420
+ this.submitMetric(response, _types2.VOICEMAIL_ACTION.TRANSCRIPT, messageId);
421
+ _Logger.default.log("Successfully retrieved voicemail transcript: messageId=".concat(messageId, ", statusCode=").concat(response.statusCode), loggerContext);
422
+ }
423
+ return _context8.abrupt("return", response);
424
+ case 2:
425
+ case "end":
426
+ return _context8.stop();
427
+ }
428
+ }, _callee8, this);
429
+ }));
430
+ function getVMTranscript(_x9) {
431
+ return _getVMTranscript.apply(this, arguments);
432
+ }
433
+ return getVMTranscript;
434
+ }()
435
+ /**
436
+ * Resolve the Contact from userId or display name.
437
+ *
438
+ * @param callingPartyInfo - Calling Party Info.
439
+ */
440
+ )
441
+ }, {
442
+ key: "resolveContact",
443
+ value: function resolveContact(callingPartyInfo) {
444
+ var loggerContext = {
445
+ file: _constants2.VOICEMAIL_FILE,
446
+ method: _constants2.METHODS.RESOLVE_CONTACT
447
+ };
448
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
449
+ var response = this.backendConnector.resolveContact(callingPartyInfo);
450
+ _Logger.default.log('Contact resolution completed successfully', loggerContext);
451
+ return response;
452
+ }
453
+
454
+ /**
455
+ * SDK connector function.
456
+ * @ignore
457
+ */
458
+ }, {
459
+ key: "getSDKConnector",
460
+ value: function getSDKConnector() {
461
+ return this.sdkConnector;
462
+ }
463
+ }]);
464
+ }(_impl.Eventing);
465
+ /**
466
+ * @param webex - webex instance
467
+ * @param logger - logger instance
468
+ */
469
+ var createVoicemailClient = exports.createVoicemailClient = function createVoicemailClient(webex, logger) {
470
+ return new Voicemail(webex, logger);
471
+ };
472
+ //# sourceMappingURL=Voicemail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","_SDKConnector","_interopRequireDefault","_types","_Logger","_Utils","_WxCallBackendConnector","_BroadworksBackendConnector","_impl","_UcmBackendConnector","_types2","_Metrics","_constants2","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","Voicemail","exports","_Eventing","webex","logger","_this","_classCallCheck2","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","metricManager","getMetricManager","undefined","callingBackend","getCallingBackEnd","initializeBackendConnector","log","setLogger","level","VOICEMAIL_FILE","_inherits2","_createClass2","key","value","_init","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","response","_t","wrap","_context","prev","next","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","backendConnector","init","abrupt","error","concat","_stringify","uploadLogs","stop","arguments","INITIALIZE_BACKEND_CONNECTOR","CALLING_BACKEND","WXC","WxCallBackendConnector","BWRKS","BroadworksBackendConnector","UCM","UcmBackendConnector","Error","submitMetric","metricAction","messageId","statusCode","errorMessage","data","submitVoicemailMetric","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","VOICEMAIL_ERROR","_getVoicemailList","_callee2","offset","offsetLimit","sort","refresh","_t2","_context2","GET_VOICEMAIL_LIST","getVoicemailList","sent","VOICEMAIL_ACTION","GET_VOICEMAILS","_x","_x2","_x3","_x4","_getVoicemailContent","_callee3","_context3","GET_VOICEMAIL_CONTENT","getVoicemailContent","_x5","_getVoicemailSummary","_callee4","_context4","GET_VOICEMAIL_SUMMARY","getVoicemailSummary","_voicemailMarkAsRead","_callee5","_context5","VOICEMAIL_MARK_AS_READ","voicemailMarkAsRead","MARK_READ","_x6","_voicemailMarkAsUnread","_callee6","_context6","VOICEMAIL_MARK_AS_UNREAD","voicemailMarkAsUnread","MARK_UNREAD","_x7","_deleteVoicemail","_callee7","_context7","DELETE_VOICEMAIL","deleteVoicemail","DELETE","_x8","_getVMTranscript","_callee8","_context8","GET_VM_TRANSCRIPT","getVMTranscript","TRANSCRIPT","_x9","resolveContact","callingPartyInfo","RESOLVE_CONTACT","getSDKConnector","Eventing","createVoicemailClient"],"sources":["Voicemail.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {IVoicemail, VoicemailResponseEvent, LoggerInterface, CallingPartyInfo} from './types';\nimport {CALLING_BACKEND, DisplayInformation, SORT} from '../common/types';\nimport log from '../Logger';\nimport {getCallingBackEnd, uploadLogs} from '../common/Utils';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {VoicemailEventTypes} from '../Events/types';\nimport {Eventing} from '../Events/impl';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {IMetricManager, METRIC_EVENT, METRIC_TYPE, VOICEMAIL_ACTION} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\nimport {VOICEMAIL_FILE, METHODS} from './constants';\n\n/**\n * The `Voicemail` module is designed to simplify voicemail-related operations by offering a set of APIs.\n *\n * The following code snippet demonstrates how to create an instance of `Voicemail` using a `webex` instance and a logger:\n *\n * Example:\n * ```javascript\n * const voicemailInstance = createVoicemailClient(webex, logger);\n * ```\n */\nexport class Voicemail extends Eventing<VoicemailEventTypes> implements IVoicemail {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend: CALLING_BACKEND;\n\n private backendConnector!: IVoicemail;\n\n private metricManager: IMetricManager;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, public logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.metricManager = getMetricManager(this.webex, undefined);\n this.callingBackend = getCallingBackEnd(this.webex);\n this.initializeBackendConnector();\n log.setLogger(logger.level, VOICEMAIL_FILE);\n }\n\n /**\n * Voicemail connector initialization.\n *\n */\n public async init() {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.INIT,\n };\n\n try {\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.init();\n\n log.log('Voicemail connector initialized successfully', loggerContext);\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to initialize voicemail: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Setup and initialize the voicemail backend connector class object.\n */\n private initializeBackendConnector() {\n log.info(METHOD_START_MESSAGE, {\n file: VOICEMAIL_FILE,\n method: METHODS.INITIALIZE_BACKEND_CONNECTOR,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.WXC: {\n this.backendConnector = new WxCallBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.BWRKS: {\n this.backendConnector = new BroadworksBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.UCM: {\n this.backendConnector = new UcmBackendConnector(this.webex, this.logger);\n break;\n }\n\n default: {\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n }\n\n /**\n * @param response - VoicemailResponseEvent to be used in submitting metric.\n * @param metricAction - Action for the metric being submitted.\n * @param messageId - Message identifier of the voicemail message.\n */\n private submitMetric(response: VoicemailResponseEvent, metricAction: string, messageId?: string) {\n const {\n statusCode,\n data: {error: errorMessage},\n } = response;\n\n if (statusCode >= 200 && statusCode < 300) {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId\n );\n } else {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId,\n errorMessage,\n statusCode\n );\n }\n }\n\n /**\n * Retrieves a list of voicemails with optional pagination and sorting options.\n *\n * @param offset - Number of records to skip.\n * @param offsetLimit - The limit on the number of voicemails to retrieve from the offset.\n * @param sort - Sort voicemail list (ASC | DESC).\n * @param refresh - Set to `true` to force a refresh of voicemail data from backend (optional).\n */\n public async getVoicemailList(\n offset: number,\n offsetLimit: number,\n sort: SORT,\n refresh?: boolean\n ): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n try {\n log.info(\n `${METHOD_START_MESSAGE} with: offset=${offset}, limit=${offsetLimit}, sort=${sort}, refresh=${refresh}`,\n loggerContext\n );\n\n const response = await this.backendConnector.getVoicemailList(\n offset,\n offsetLimit,\n sort,\n refresh\n );\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAILS);\n\n log.log(\n `Successfully retrieved voicemail list: statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail list: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Retrieves the content of a voicemail message based on its messageId.\n *\n * @param messageId - The identifier of the voicemail message.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVoicemailContent(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT, messageId);\n\n log.log(\n `Successfully retrieved voicemail content for messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Retrieves a quantitative summary of voicemails for a user.\n *\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = await this.backendConnector.getVoicemailSummary();\n\n /* istanbul ignore else */\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY);\n\n log.log(\n `Successfully retrieved voicemail summary: statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsRead(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_READ, messageId);\n\n log.log(\n `Successfully marked voicemail as read: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail unread status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsUnread(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_UNREAD, messageId);\n\n log.log(\n `Successfully marked voicemail as unread: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.deleteVoicemail(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.DELETE, messageId);\n\n log.log(\n `Successfully deleted voicemail: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch the voicemail transcripts for the messageId.\n *\n * @param messageId - MessageId for which we need the transcript.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VM_TRANSCRIPT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVMTranscript(messageId);\n\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.TRANSCRIPT, messageId);\n\n log.log(\n `Successfully retrieved voicemail transcript: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Resolve the Contact from userId or display name.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.RESOLVE_CONTACT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.resolveContact(callingPartyInfo);\n\n log.log('Contact resolution completed successfully', loggerContext);\n\n return response;\n }\n\n /**\n * SDK connector function.\n * @ignore\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n}\n\n/**\n * @param webex - webex instance\n * @param logger - logger instance\n */\nexport const createVoicemailClient = (webex: WebexSDK, logger: LoggerInterface): IVoicemail =>\n new Voicemail(webex, logger);\n"],"mappings":"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","ignoreList":[]}