@webex/calling 3.9.0 → 3.10.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 (184) hide show
  1. package/dist/CallHistory/CallHistory.js +51 -46
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +146 -147
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallHistory/types.js.map +1 -1
  8. package/dist/CallSettings/CallSettings.js +8 -8
  9. package/dist/CallSettings/CallSettings.js.map +1 -1
  10. package/dist/CallSettings/CallSettings.test.js +1 -1
  11. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.js +12 -11
  13. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  14. package/dist/CallSettings/UcmBackendConnector.test.js +9 -10
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +66 -59
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +108 -109
  19. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  20. package/dist/CallSettings/constants.js.map +1 -1
  21. package/dist/CallSettings/testFixtures.js.map +1 -1
  22. package/dist/CallSettings/types.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.js +457 -201
  24. package/dist/CallingClient/CallingClient.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.test.js +458 -315
  26. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  27. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  28. package/dist/CallingClient/calling/CallerId/index.js +2 -2
  29. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  30. package/dist/CallingClient/calling/CallerId/index.test.js +8 -7
  31. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  32. package/dist/CallingClient/calling/CallerId/types.js.map +1 -1
  33. package/dist/CallingClient/calling/call.js +369 -333
  34. package/dist/CallingClient/calling/call.js.map +1 -1
  35. package/dist/CallingClient/calling/call.test.js +411 -410
  36. package/dist/CallingClient/calling/call.test.js.map +1 -1
  37. package/dist/CallingClient/calling/callManager.js +3 -4
  38. package/dist/CallingClient/calling/callManager.js.map +1 -1
  39. package/dist/CallingClient/calling/callManager.test.js +67 -68
  40. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  41. package/dist/CallingClient/calling/index.js.map +1 -1
  42. package/dist/CallingClient/calling/types.js.map +1 -1
  43. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  44. package/dist/CallingClient/constants.js +9 -6
  45. package/dist/CallingClient/constants.js.map +1 -1
  46. package/dist/CallingClient/line/index.js +10 -11
  47. package/dist/CallingClient/line/index.js.map +1 -1
  48. package/dist/CallingClient/line/line.test.js +10 -9
  49. package/dist/CallingClient/line/line.test.js.map +1 -1
  50. package/dist/CallingClient/line/types.js.map +1 -1
  51. package/dist/CallingClient/registration/index.js.map +1 -1
  52. package/dist/CallingClient/registration/register.js +280 -201
  53. package/dist/CallingClient/registration/register.js.map +1 -1
  54. package/dist/CallingClient/registration/register.test.js +251 -180
  55. package/dist/CallingClient/registration/register.test.js.map +1 -1
  56. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  57. package/dist/CallingClient/registration/types.js.map +1 -1
  58. package/dist/CallingClient/registration/webWorker.js +25 -10
  59. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  60. package/dist/CallingClient/registration/webWorker.test.js +85 -38
  61. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  62. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  63. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  64. package/dist/CallingClient/types.js.map +1 -1
  65. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  66. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  67. package/dist/Contacts/ContactsClient.js +244 -238
  68. package/dist/Contacts/ContactsClient.js.map +1 -1
  69. package/dist/Contacts/ContactsClient.test.js +89 -90
  70. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  71. package/dist/Contacts/constants.js +2 -2
  72. package/dist/Contacts/constants.js.map +1 -1
  73. package/dist/Contacts/contactFixtures.js.map +1 -1
  74. package/dist/Contacts/types.js.map +1 -1
  75. package/dist/Errors/catalog/CallError.js +2 -2
  76. package/dist/Errors/catalog/CallError.js.map +1 -1
  77. package/dist/Errors/catalog/CallingDeviceError.js +2 -2
  78. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  79. package/dist/Errors/catalog/ExtendedError.js +3 -3
  80. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  81. package/dist/Errors/catalog/LineError.js +2 -2
  82. package/dist/Errors/catalog/LineError.js.map +1 -1
  83. package/dist/Errors/index.js.map +1 -1
  84. package/dist/Errors/types.js.map +1 -1
  85. package/dist/Events/impl/index.js +2 -2
  86. package/dist/Events/impl/index.js.map +1 -1
  87. package/dist/Events/types.js.map +1 -1
  88. package/dist/Logger/index.js.map +1 -1
  89. package/dist/Logger/index.test.js.map +1 -1
  90. package/dist/Logger/types.js.map +1 -1
  91. package/dist/Metrics/index.js +221 -104
  92. package/dist/Metrics/index.js.map +1 -1
  93. package/dist/Metrics/index.test.js +112 -23
  94. package/dist/Metrics/index.test.js.map +1 -1
  95. package/dist/Metrics/types.js +15 -1
  96. package/dist/Metrics/types.js.map +1 -1
  97. package/dist/SDKConnector/index.js +0 -1
  98. package/dist/SDKConnector/index.js.map +1 -1
  99. package/dist/SDKConnector/index.test.js.map +1 -1
  100. package/dist/SDKConnector/types.js.map +1 -1
  101. package/dist/SDKConnector/utils.js.map +1 -1
  102. package/dist/SDKConnector/utils.test.js.map +1 -1
  103. package/dist/Voicemail/BroadworksBackendConnector.js +42 -39
  104. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  105. package/dist/Voicemail/BroadworksBackendConnector.test.js +119 -120
  106. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  107. package/dist/Voicemail/UcmBackendConnector.js +54 -47
  108. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  109. package/dist/Voicemail/UcmBackendConnector.test.js +73 -74
  110. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  111. package/dist/Voicemail/Voicemail.js +12 -11
  112. package/dist/Voicemail/Voicemail.js.map +1 -1
  113. package/dist/Voicemail/Voicemail.test.js +2 -2
  114. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  115. package/dist/Voicemail/WxCallBackendConnector.js +78 -70
  116. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  117. package/dist/Voicemail/WxCallBackendConnector.test.js +184 -185
  118. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  119. package/dist/Voicemail/constants.js.map +1 -1
  120. package/dist/Voicemail/types.js.map +1 -1
  121. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  122. package/dist/api.js.map +1 -1
  123. package/dist/common/Utils.js +84 -65
  124. package/dist/common/Utils.js.map +1 -1
  125. package/dist/common/Utils.test.js +111 -117
  126. package/dist/common/Utils.test.js.map +1 -1
  127. package/dist/common/constants.js.map +1 -1
  128. package/dist/common/index.js.map +1 -1
  129. package/dist/common/testUtil.js +1 -1
  130. package/dist/common/testUtil.js.map +1 -1
  131. package/dist/common/types.js.map +1 -1
  132. package/dist/index.js +5 -5
  133. package/dist/index.js.map +1 -1
  134. package/dist/module/CallHistory/CallHistory.js +4 -0
  135. package/dist/module/CallSettings/UcmBackendConnector.js +1 -0
  136. package/dist/module/CallSettings/WxCallBackendConnector.js +7 -0
  137. package/dist/module/CallingClient/CallingClient.js +174 -32
  138. package/dist/module/CallingClient/calling/call.js +79 -43
  139. package/dist/module/CallingClient/constants.js +8 -4
  140. package/dist/module/CallingClient/line/index.js +3 -3
  141. package/dist/module/CallingClient/registration/register.js +34 -10
  142. package/dist/module/CallingClient/registration/webWorker.js +17 -3
  143. package/dist/module/CallingClient/registration/webWorkerStr.js +19 -3
  144. package/dist/module/CallingClient/windowsChromiumIceWarmupUtils.js +59 -0
  145. package/dist/module/Contacts/ContactsClient.js +23 -17
  146. package/dist/module/Contacts/constants.js +1 -1
  147. package/dist/module/Metrics/index.js +142 -55
  148. package/dist/module/Metrics/types.js +14 -0
  149. package/dist/module/Voicemail/BroadworksBackendConnector.js +3 -0
  150. package/dist/module/Voicemail/UcmBackendConnector.js +6 -0
  151. package/dist/module/Voicemail/WxCallBackendConnector.js +8 -0
  152. package/dist/module/common/Utils.js +27 -10
  153. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  154. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  155. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  156. package/dist/types/CallingClient/CallingClient.d.ts +12 -1
  157. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  158. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  159. package/dist/types/CallingClient/calling/types.d.ts +2 -1
  160. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  161. package/dist/types/CallingClient/constants.d.ts +8 -4
  162. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  163. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  164. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  165. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  166. package/dist/types/CallingClient/registration/webWorker.d.ts +2 -1
  167. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  168. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  169. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  170. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts +5 -0
  171. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts.map +1 -0
  172. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  173. package/dist/types/Contacts/constants.d.ts +1 -1
  174. package/dist/types/Contacts/constants.d.ts.map +1 -1
  175. package/dist/types/Metrics/index.d.ts.map +1 -1
  176. package/dist/types/Metrics/types.d.ts +18 -3
  177. package/dist/types/Metrics/types.d.ts.map +1 -1
  178. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  179. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  180. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  181. package/dist/types/common/Utils.d.ts.map +1 -1
  182. package/dist/types/common/types.d.ts +1 -0
  183. package/dist/types/common/types.d.ts.map +1 -1
  184. package/package.json +10 -8
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_SDKConnector","_interopRequireDefault","_constants","_Utils","_types2","_Logger","_constants2","BroadworksBackendConnector","exports","webex","logger","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","context","Math","random","toString","RADIX_RAND","substring","PREFIX","log","setLogger","level","BROADWORKS_VOICEMAIL_FILE","_createClass2","key","value","init","loggerContext","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","response","setXsiVoiceMessageURI","getSDKConnector","_getUserId","_asyncToGenerator2","_regenerator","mark","_callee","decodedString","error","errorInfo","extendedError","wrap","_callee$","_context","prev","next","GET_USER_ID","getBwToken","bwtoken","split","length","Buffer","from","BASE64","BINARY","userId","JSON","parse","sub","abrupt","ERROR_CODE","UNAUTHORIZED","Error","concat","t0","statusCode","Number","message","uploadLogs","serviceErrorCodeHandler","stop","getUserId","apply","arguments","_getBwToken","_callee2","bwTokenResponse","_callee2$","_context2","GET_BW_TOKEN","request","uri","internal","services","_serviceUrls","broadworksIdpProxy","BW_TOKEN_FETCH_ENDPOINT","HTTP_METHODS","GET","sent","body","TOKEN","BEARER","_setXsiVoiceMessageURI","_callee3","userIdResponse","_callee3$","_context3","SET_XSI_VOICE_MESSAGE_URI","getXsiActionEndpoint","CALLING_BACKEND","BWRKS","xsiEndpoint","xsiAccessToken","_typeof2","OBJECT","xsiVoiceMessageURI","BW_XSI_ENDPOINT_VERSION","USER","VOICE_MESSAGING_MESSAGES","SUCCESS_STATUS_CODE","data","SUCCESS_MESSAGE","_getVoicemailList","_callee4","offset","offsetLimit","sort","refresh","urlXsi","messageinfo","sortParam","_voicemailListRespons","_voicemailListRespons2","_voicemailListRespons3","voicemailListResponse","_voicemailListRespons4","_voicemailListRespons5","_voicemailListRespons6","_voicemailListRespons7","errorStatus","_fetchVoicemailList","messages","moreVMAvailable","responseDetails","_callee4$","_context4","GET_VOICEMAIL_LIST","JSON_FORMAT","_values","SORT","includes","DEFAULT","fetch","headers","Authorization","ok","status","json","_keys","VoiceMessagingMessages","messageInfoList","_isArray","messageInfo","Array","getSortedVoicemailList","storeVoicemailList","fetchVoicemailList","NO_VOICEMAIL_STATUS_CODE","voicemailList","NO_VOICEMAIL_MSG","getVoicemailList","_x","_x2","_x3","_x4","_getVoicemailContent","_callee5","messageId","_mediaDetails$childNo","_mediaDetails$childNo2","voicemailContentUrl","xmlData","parser","xmlDOM","mediaDetails","mediaType","mediaContent","_callee5$","_context5","GET_VOICEMAIL_CONTENT","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","MESSAGE_MEDIA_CONTENT","childNodes","textContent","voicemailContent","type","content","getVoicemailContent","_x5","_getVoicemailSummary","_callee6","_callee6$","_context6","_promise","resolve","getVoicemailSummary","_voicemailMarkAsRead","_callee7","_callee7$","_context7","VOICEMAIL_MARK_AS_READ","MARK_AS_READ","PUT","voicemailMarkAsRead","_x6","_voicemailMarkAsUnread","_callee8","_callee8$","_context8","VOICEMAIL_MARK_AS_UNREAD","MARK_AS_UNREAD","voicemailMarkAsUnread","_x7","_deleteVoicemail","_callee9","_callee9$","_context9","DELETE_VOICEMAIL","DELETE","deleteVoicemail","_x8","_getVMTranscript","_callee10","_callee10$","_context10","GET_VM_TRANSCRIPT","getVMTranscript","_x9","resolveContact","callingPartyInfo","RESOLVE_CONTACT"],"sources":["BroadworksBackendConnector.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\nimport ExtendedError from '../Errors/catalog/ExtendedError';\nimport {ERROR_CODE} from '../Errors/types';\nimport SDKConnector from '../SDKConnector';\nimport {\n BASE64,\n BEARER,\n BINARY,\n SUCCESS_MESSAGE,\n SUCCESS_STATUS_CODE,\n OBJECT,\n TOKEN,\n USER,\n XML_TYPE,\n BW_XSI_ENDPOINT_VERSION,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n serviceErrorCodeHandler,\n getXsiActionEndpoint,\n getSortedVoicemailList,\n storeVoicemailList,\n fetchVoicemailList,\n uploadLogs,\n} from '../common/Utils';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n IBroadworksCallBackendConnector,\n MessageInfo,\n VoicemailResponseEvent,\n BroadworksTokenType,\n VoicemailList,\n CallingPartyInfo,\n} from './types';\nimport {\n CALLING_BACKEND,\n DisplayInformation,\n HTTP_METHODS,\n SORT,\n WebexRequestPayload,\n} from '../common/types';\nimport log from '../Logger';\nimport {\n BROADWORKS_VOICEMAIL_FILE,\n BW_TOKEN_FETCH_ENDPOINT,\n JSON_FORMAT,\n MARK_AS_READ,\n MARK_AS_UNREAD,\n MESSAGE_MEDIA_CONTENT,\n VOICE_MESSAGING_MESSAGES,\n NO_VOICEMAIL_MSG,\n NO_VOICEMAIL_STATUS_CODE,\n RADIX_RAND,\n PREFIX,\n METHODS,\n} from './constants';\n/**\n *\n */\nexport class BroadworksBackendConnector implements IBroadworksCallBackendConnector {\n public bwtoken!: string;\n\n public userId!: string;\n\n public xsiAccessToken!: string;\n\n public xsiEndpoint!: WebexRequestPayload;\n\n private context: string;\n\n private sdkConnector!: ISDKConnector;\n\n private webex: WebexSDK;\n\n private xsiVoiceMessageURI!: string;\n\n /**\n * @param webex -.\n * @param logger -.\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n /* istanbul ignore else */\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.context = Math.random().toString(RADIX_RAND).substring(PREFIX);\n log.setLogger(logger.level, BROADWORKS_VOICEMAIL_FILE);\n }\n\n /**\n * Initializing Broadworks voicemail connector.\n *\n * @returns Response.\n */\n public init() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.INIT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.setXsiVoiceMessageURI();\n\n log.log('Successfully initialized Broadworks voicemail connector', loggerContext);\n\n return response as unknown as VoicemailResponseEvent;\n }\n\n /**\n * SDK connector function.\n *\n * @returns SdkConnector.\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\n * Decoding the userId from the broadworks token.\n */\n private async getUserId() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_USER_ID,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n try {\n await this.getBwToken();\n /* istanbul ignore else */\n if (this.bwtoken && this.bwtoken.split('.').length > 1) {\n const decodedString = Buffer.from(this.bwtoken.split('.')[1], BASE64).toString(BINARY);\n\n this.userId = JSON.parse(decodedString).sub;\n\n return this.userId;\n }\n\n const error = ERROR_CODE.UNAUTHORIZED;\n\n /* If the token is not valid, throw 401 and stop the execution */\n throw new Error(`${error}`);\n } catch (err: unknown) {\n /* Catch the 401 error from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get userId: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n return serviceErrorCodeHandler(errorInfo, loggerContext);\n }\n }\n\n /**\n * Fetch the Broadworks token.\n */\n private async getBwToken() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_BW_TOKEN,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n try {\n const bwTokenResponse = await (<WebexRequestPayload>this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.broadworksIdpProxy}${BW_TOKEN_FETCH_ENDPOINT}`,\n method: HTTP_METHODS.GET,\n }));\n\n const response = bwTokenResponse.body as BroadworksTokenType;\n\n this.bwtoken = response[TOKEN][BEARER];\n log.log('Successfully fetched Broadworks token', loggerContext);\n } catch (err: unknown) {\n const extendedError = new Error(`Broadworks token exception: ${err}`) as ExtendedError;\n log.error(extendedError, {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_BW_TOKEN,\n });\n await uploadLogs();\n }\n }\n\n /**\n * Register XSI URL.\n */\n private async setXsiVoiceMessageURI() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.SET_XSI_VOICE_MESSAGE_URI,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n let userIdResponse = await this.getUserId();\n\n this.xsiEndpoint = await getXsiActionEndpoint(this.webex, loggerContext, CALLING_BACKEND.BWRKS);\n this.xsiAccessToken = `${BEARER} ${this.bwtoken}`;\n log.info(`XsiEndpoint is ${this.xsiEndpoint}`, loggerContext);\n\n /* istanbul ignore else */\n if (userIdResponse && typeof userIdResponse !== OBJECT) {\n this.xsiVoiceMessageURI = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${userIdResponse}/${VOICE_MESSAGING_MESSAGES}`;\n userIdResponse = {\n statusCode: SUCCESS_STATUS_CODE,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n }\n\n log.log('Successfully set XSI voice message URI', loggerContext);\n\n return userIdResponse;\n }\n\n /**\n * Fetch voicemail list for Broadworks user.\n *\n * @param sort - Sort voicemail list (ASC | DESC). TODO: Once we start implementing sorting.\n * @param offset - Number of records to skip.\n * @param offsetLimit - Number of voicemail list to fetch from the offset.\n * @param refresh - Refresh the list of voicemails from backend.\n * @returns Promise.\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: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with offset: ${offset}, offsetLimit: ${offsetLimit}, sort type: ${sort}`,\n loggerContext\n );\n const urlXsi = `${this.xsiVoiceMessageURI}${JSON_FORMAT}`;\n let messageinfo: MessageInfo[] | undefined;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n /* istanbul ignore else */\n if (refresh) {\n try {\n const response = await fetch(`${urlXsi}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const voicemailListResponse = (await response.json()) as VoicemailList;\n\n if (\n Object.keys(voicemailListResponse?.VoiceMessagingMessages?.messageInfoList).length === 0\n ) {\n messageinfo = [];\n } else if (\n !Array.isArray(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n )\n ) {\n messageinfo = Array(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n ) as MessageInfo[];\n } else {\n messageinfo = voicemailListResponse?.VoiceMessagingMessages?.messageInfoList\n ?.messageInfo as MessageInfo[];\n messageinfo = getSortedVoicemailList(messageinfo, sortParam);\n }\n\n storeVoicemailList(this.context, messageinfo);\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get voicemail list: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n const {messages, moreVMAvailable} = fetchVoicemailList(\n this.context,\n offset,\n offsetLimit,\n loggerContext\n );\n\n log.log(`Successfully fetched voicemail list with ${messages.length} messages`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: moreVMAvailable ? SUCCESS_STATUS_CODE : NO_VOICEMAIL_STATUS_CODE,\n data: {\n voicemailList: messages,\n },\n message: moreVMAvailable ? SUCCESS_MESSAGE : NO_VOICEMAIL_MSG,\n };\n\n return responseDetails;\n }\n\n /**\n * Fetch the voicemail contents for the messageId.\n *\n * @param messageId - String result from the voicemail list.\n * @returns Promise.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = await fetch(`${voicemailContentUrl}`, {\n method: 'GET',\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const xmlData = await response.text();\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const mediaDetails = xmlDOM.getElementsByTagName(MESSAGE_MEDIA_CONTENT)[0];\n const mediaType = mediaDetails.childNodes[1]?.textContent;\n const mediaContent = mediaDetails.childNodes[2]?.textContent;\n\n log.info(`Media type is ${mediaType}`, loggerContext);\n\n log.log(`Successfully fetched voicemail content for message ID: ${messageId}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response?.status,\n data: {\n voicemailContent: {\n type: mediaType,\n content: mediaContent,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get voicemail content: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetches a quantitative summary of voicemails for a user.\n * Not implemented for this connector.\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n return Promise.resolve(null);\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_READ}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.PUT,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully marked voicemail with ID ${messageId} as read`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to mark voicemail as read: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail unread message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_UNREAD}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.PUT,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully marked voicemail with ID ${messageId} as unread`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(\n `Failed to mark voicemail as unread: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.DELETE,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully deleted voicemail with ID ${messageId}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to delete voicemail: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail transcript for the messageId.\n *\n * @param messageId - MessageId to fetch voicemail transcript.\n * @returns Promise.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VM_TRANSCRIPT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n return Promise.resolve(null);\n }\n\n /**\n * Resolve the Contact from userId or display name.\n * Not implemented for this connector.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n log.info(`${METHOD_START_MESSAGE} with Calling Party Info: ${callingPartyInfo}`, {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.RESOLVE_CONTACT,\n });\n\n return Promise.resolve(null);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_SDKConnector","_interopRequireDefault","_constants","_Utils","_types2","_Logger","_constants2","BroadworksBackendConnector","exports","webex","logger","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","context","Math","random","toString","RADIX_RAND","substring","PREFIX","log","setLogger","level","BROADWORKS_VOICEMAIL_FILE","_createClass2","key","value","init","loggerContext","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","response","setXsiVoiceMessageURI","getSDKConnector","_getUserId","_asyncToGenerator2","_regenerator","mark","_callee","decodedString","error","errorInfo","extendedError","wrap","_callee$","_context","prev","next","GET_USER_ID","getBwToken","bwtoken","split","length","Buffer","from","BASE64","BINARY","userId","JSON","parse","sub","abrupt","ERROR_CODE","UNAUTHORIZED","Error","concat","t0","statusCode","Number","message","uploadLogs","serviceErrorCodeHandler","stop","getUserId","apply","arguments","_getBwToken","_callee2","bwTokenResponse","_callee2$","_context2","GET_BW_TOKEN","request","uri","internal","services","_serviceUrls","broadworksIdpProxy","BW_TOKEN_FETCH_ENDPOINT","HTTP_METHODS","GET","sent","body","TOKEN","BEARER","_setXsiVoiceMessageURI","_callee3","userIdResponse","_callee3$","_context3","SET_XSI_VOICE_MESSAGE_URI","getXsiActionEndpoint","CALLING_BACKEND","BWRKS","xsiEndpoint","xsiAccessToken","_typeof2","OBJECT","xsiVoiceMessageURI","BW_XSI_ENDPOINT_VERSION","USER","VOICE_MESSAGING_MESSAGES","SUCCESS_STATUS_CODE","data","SUCCESS_MESSAGE","_getVoicemailList","_callee4","offset","offsetLimit","sort","refresh","urlXsi","messageinfo","sortParam","_response$headers","_voicemailListRespons","_voicemailListRespons2","_voicemailListRespons3","voicemailListResponse","_voicemailListRespons4","_voicemailListRespons5","_voicemailListRespons6","_voicemailListRespons7","errorStatus","_fetchVoicemailList","messages","moreVMAvailable","responseDetails","_callee4$","_context4","GET_VOICEMAIL_LIST","JSON_FORMAT","_values","SORT","includes","DEFAULT","fetch","headers","Authorization","ok","status","json","get","_keys","VoiceMessagingMessages","messageInfoList","_isArray","messageInfo","Array","getSortedVoicemailList","storeVoicemailList","fetchVoicemailList","NO_VOICEMAIL_STATUS_CODE","voicemailList","NO_VOICEMAIL_MSG","getVoicemailList","_x","_x2","_x3","_x4","_getVoicemailContent","_callee5","messageId","_response$headers2","_mediaDetails$childNo","_mediaDetails$childNo2","voicemailContentUrl","xmlData","parser","xmlDOM","mediaDetails","mediaType","mediaContent","_callee5$","_context5","GET_VOICEMAIL_CONTENT","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","MESSAGE_MEDIA_CONTENT","childNodes","textContent","voicemailContent","type","content","getVoicemailContent","_x5","_getVoicemailSummary","_callee6","_callee6$","_context6","_promise","resolve","getVoicemailSummary","_voicemailMarkAsRead","_callee7","_response$headers3","_callee7$","_context7","VOICEMAIL_MARK_AS_READ","MARK_AS_READ","PUT","voicemailMarkAsRead","_x6","_voicemailMarkAsUnread","_callee8","_callee8$","_context8","VOICEMAIL_MARK_AS_UNREAD","MARK_AS_UNREAD","voicemailMarkAsUnread","_x7","_deleteVoicemail","_callee9","_callee9$","_context9","DELETE_VOICEMAIL","DELETE","deleteVoicemail","_x8","_getVMTranscript","_callee0","_callee0$","_context0","GET_VM_TRANSCRIPT","getVMTranscript","_x9","resolveContact","callingPartyInfo","RESOLVE_CONTACT"],"sources":["BroadworksBackendConnector.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\nimport ExtendedError from '../Errors/catalog/ExtendedError';\nimport {ERROR_CODE} from '../Errors/types';\nimport SDKConnector from '../SDKConnector';\nimport {\n BASE64,\n BEARER,\n BINARY,\n SUCCESS_MESSAGE,\n SUCCESS_STATUS_CODE,\n OBJECT,\n TOKEN,\n USER,\n XML_TYPE,\n BW_XSI_ENDPOINT_VERSION,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n serviceErrorCodeHandler,\n getXsiActionEndpoint,\n getSortedVoicemailList,\n storeVoicemailList,\n fetchVoicemailList,\n uploadLogs,\n} from '../common/Utils';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n IBroadworksCallBackendConnector,\n MessageInfo,\n VoicemailResponseEvent,\n BroadworksTokenType,\n VoicemailList,\n CallingPartyInfo,\n} from './types';\nimport {\n CALLING_BACKEND,\n DisplayInformation,\n HTTP_METHODS,\n SORT,\n WebexRequestPayload,\n} from '../common/types';\nimport log from '../Logger';\nimport {\n BROADWORKS_VOICEMAIL_FILE,\n BW_TOKEN_FETCH_ENDPOINT,\n JSON_FORMAT,\n MARK_AS_READ,\n MARK_AS_UNREAD,\n MESSAGE_MEDIA_CONTENT,\n VOICE_MESSAGING_MESSAGES,\n NO_VOICEMAIL_MSG,\n NO_VOICEMAIL_STATUS_CODE,\n RADIX_RAND,\n PREFIX,\n METHODS,\n} from './constants';\n/**\n *\n */\nexport class BroadworksBackendConnector implements IBroadworksCallBackendConnector {\n public bwtoken!: string;\n\n public userId!: string;\n\n public xsiAccessToken!: string;\n\n public xsiEndpoint!: WebexRequestPayload;\n\n private context: string;\n\n private sdkConnector!: ISDKConnector;\n\n private webex: WebexSDK;\n\n private xsiVoiceMessageURI!: string;\n\n /**\n * @param webex -.\n * @param logger -.\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n /* istanbul ignore else */\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.context = Math.random().toString(RADIX_RAND).substring(PREFIX);\n log.setLogger(logger.level, BROADWORKS_VOICEMAIL_FILE);\n }\n\n /**\n * Initializing Broadworks voicemail connector.\n *\n * @returns Response.\n */\n public init() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.INIT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.setXsiVoiceMessageURI();\n\n log.log('Successfully initialized Broadworks voicemail connector', loggerContext);\n\n return response as unknown as VoicemailResponseEvent;\n }\n\n /**\n * SDK connector function.\n *\n * @returns SdkConnector.\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\n * Decoding the userId from the broadworks token.\n */\n private async getUserId() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_USER_ID,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n try {\n await this.getBwToken();\n /* istanbul ignore else */\n if (this.bwtoken && this.bwtoken.split('.').length > 1) {\n const decodedString = Buffer.from(this.bwtoken.split('.')[1], BASE64).toString(BINARY);\n\n this.userId = JSON.parse(decodedString).sub;\n\n return this.userId;\n }\n\n const error = ERROR_CODE.UNAUTHORIZED;\n\n /* If the token is not valid, throw 401 and stop the execution */\n throw new Error(`${error}`);\n } catch (err: unknown) {\n /* Catch the 401 error from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get userId: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n return serviceErrorCodeHandler(errorInfo, loggerContext);\n }\n }\n\n /**\n * Fetch the Broadworks token.\n */\n private async getBwToken() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_BW_TOKEN,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n try {\n const bwTokenResponse = await (<WebexRequestPayload>this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.broadworksIdpProxy}${BW_TOKEN_FETCH_ENDPOINT}`,\n method: HTTP_METHODS.GET,\n }));\n\n const response = bwTokenResponse.body as BroadworksTokenType;\n\n this.bwtoken = response[TOKEN][BEARER];\n log.log('Successfully fetched Broadworks token', loggerContext);\n } catch (err: unknown) {\n const extendedError = new Error(`Broadworks token exception: ${err}`) as ExtendedError;\n log.error(extendedError, {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_BW_TOKEN,\n });\n await uploadLogs();\n }\n }\n\n /**\n * Register XSI URL.\n */\n private async setXsiVoiceMessageURI() {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.SET_XSI_VOICE_MESSAGE_URI,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n let userIdResponse = await this.getUserId();\n\n this.xsiEndpoint = await getXsiActionEndpoint(this.webex, loggerContext, CALLING_BACKEND.BWRKS);\n this.xsiAccessToken = `${BEARER} ${this.bwtoken}`;\n log.info(`XsiEndpoint is ${this.xsiEndpoint}`, loggerContext);\n\n /* istanbul ignore else */\n if (userIdResponse && typeof userIdResponse !== OBJECT) {\n this.xsiVoiceMessageURI = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${userIdResponse}/${VOICE_MESSAGING_MESSAGES}`;\n userIdResponse = {\n statusCode: SUCCESS_STATUS_CODE,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n }\n\n log.log('Successfully set XSI voice message URI', loggerContext);\n\n return userIdResponse;\n }\n\n /**\n * Fetch voicemail list for Broadworks user.\n *\n * @param sort - Sort voicemail list (ASC | DESC). TODO: Once we start implementing sorting.\n * @param offset - Number of records to skip.\n * @param offsetLimit - Number of voicemail list to fetch from the offset.\n * @param refresh - Refresh the list of voicemails from backend.\n * @returns Promise.\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: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n log.info(\n `${METHOD_START_MESSAGE} with offset: ${offset}, offsetLimit: ${offsetLimit}, sort type: ${sort}`,\n loggerContext\n );\n const urlXsi = `${this.xsiVoiceMessageURI}${JSON_FORMAT}`;\n let messageinfo: MessageInfo[] | undefined;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n /* istanbul ignore else */\n if (refresh) {\n try {\n const response = await fetch(`${urlXsi}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const voicemailListResponse = (await response.json()) as VoicemailList;\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n if (\n Object.keys(voicemailListResponse?.VoiceMessagingMessages?.messageInfoList).length === 0\n ) {\n messageinfo = [];\n } else if (\n !Array.isArray(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n )\n ) {\n messageinfo = Array(\n voicemailListResponse?.VoiceMessagingMessages?.messageInfoList?.messageInfo\n ) as MessageInfo[];\n } else {\n messageinfo = voicemailListResponse?.VoiceMessagingMessages?.messageInfoList\n ?.messageInfo as MessageInfo[];\n messageinfo = getSortedVoicemailList(messageinfo, sortParam);\n }\n\n storeVoicemailList(this.context, messageinfo);\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get voicemail list: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n const {messages, moreVMAvailable} = fetchVoicemailList(\n this.context,\n offset,\n offsetLimit,\n loggerContext\n );\n\n log.log(`Successfully fetched voicemail list with ${messages.length} messages`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: moreVMAvailable ? SUCCESS_STATUS_CODE : NO_VOICEMAIL_STATUS_CODE,\n data: {\n voicemailList: messages,\n },\n message: moreVMAvailable ? SUCCESS_MESSAGE : NO_VOICEMAIL_MSG,\n };\n\n return responseDetails;\n }\n\n /**\n * Fetch the voicemail contents for the messageId.\n *\n * @param messageId - String result from the voicemail list.\n * @returns Promise.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = await fetch(`${voicemailContentUrl}`, {\n method: 'GET',\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const xmlData = await response.text();\n\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const mediaDetails = xmlDOM.getElementsByTagName(MESSAGE_MEDIA_CONTENT)[0];\n const mediaType = mediaDetails.childNodes[1]?.textContent;\n const mediaContent = mediaDetails.childNodes[2]?.textContent;\n\n log.info(`Media type is ${mediaType}`, loggerContext);\n\n log.log(`Successfully fetched voicemail content for message ID: ${messageId}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response?.status,\n data: {\n voicemailContent: {\n type: mediaType,\n content: mediaContent,\n },\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to get voicemail content: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetches a quantitative summary of voicemails for a user.\n * Not implemented for this connector.\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n return Promise.resolve(null);\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_READ}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.PUT,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully marked voicemail with ID ${messageId} as read`, loggerContext);\n log.log(`Response trackingId: ${response.headers?.get('trackingid')}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to mark voicemail as read: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail unread message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_UNREAD}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.PUT,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully marked voicemail with ID ${messageId} as unread`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(\n `Failed to mark voicemail as unread: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n * @returns Promise.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n try {\n const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;\n const response = await fetch(voicemailContentUrl, {\n method: HTTP_METHODS.DELETE,\n headers: {\n Authorization: this.xsiAccessToken,\n },\n });\n\n /* istanbul ignore else */\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n\n log.log(`Successfully deleted voicemail with ID ${messageId}`, loggerContext);\n\n const responseDetails: VoicemailResponseEvent = {\n statusCode: response.status,\n data: {},\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n /* Catch the exception error code from try block, return the error object to user */\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n\n const extendedError = new Error(`Failed to delete voicemail: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Fetch voicemail transcript for the messageId.\n *\n * @param messageId - MessageId to fetch voicemail transcript.\n * @returns Promise.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.GET_VM_TRANSCRIPT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);\n\n return Promise.resolve(null);\n }\n\n /**\n * Resolve the Contact from userId or display name.\n * Not implemented for this connector.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n log.info(`${METHOD_START_MESSAGE} with Calling Party Info: ${callingPartyInfo}`, {\n file: BROADWORKS_VOICEMAIL_FILE,\n method: METHODS.RESOLVE_CONTACT,\n });\n\n return Promise.resolve(null);\n }\n}\n"],"mappings":"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","ignoreList":[]}