@webex/calling 3.11.0 → 3.12.0-llmrefactor.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallHistory/CallHistory.js +596 -0
- package/dist/CallHistory/CallHistory.js.map +1 -0
- package/dist/CallHistory/CallHistory.test.js +916 -0
- package/dist/CallHistory/CallHistory.test.js.map +1 -0
- package/dist/CallHistory/callHistoryFixtures.js +650 -0
- package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
- package/dist/CallHistory/constants.js +38 -0
- package/dist/CallHistory/constants.js.map +1 -0
- package/dist/CallHistory/types.js +7 -0
- package/dist/CallHistory/types.js.map +1 -0
- package/dist/CallRecording/CallRecording.js +160 -0
- package/dist/CallRecording/CallRecording.js.map +1 -0
- package/dist/CallRecording/CallRecording.test.js +257 -0
- package/dist/CallRecording/CallRecording.test.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js +577 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js +652 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
- package/dist/CallRecording/callRecordingFixtures.js +235 -0
- package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
- package/dist/CallRecording/constants.js +50 -0
- package/dist/CallRecording/constants.js.map +1 -0
- package/dist/CallRecording/types.js +137 -0
- package/dist/CallRecording/types.js.map +1 -0
- package/dist/CallRecording/utils.js +42 -0
- package/dist/CallRecording/utils.js.map +1 -0
- package/dist/CallRecording/utils.test.js +97 -0
- package/dist/CallRecording/utils.test.js.map +1 -0
- package/dist/CallSettings/CallSettings.js +311 -0
- package/dist/CallSettings/CallSettings.js.map +1 -0
- package/dist/CallSettings/CallSettings.test.js +122 -0
- package/dist/CallSettings/CallSettings.test.js.map +1 -0
- package/dist/CallSettings/UcmBackendConnector.js +308 -0
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
- package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
- package/dist/CallSettings/WxCallBackendConnector.js +597 -0
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
- package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
- package/dist/CallSettings/constants.js +31 -0
- package/dist/CallSettings/constants.js.map +1 -0
- package/dist/CallSettings/testFixtures.js +68 -0
- package/dist/CallSettings/testFixtures.js.map +1 -0
- package/dist/CallSettings/types.js +7 -0
- package/dist/CallSettings/types.js.map +1 -0
- package/dist/CallingClient/CallingClient.js +1349 -0
- package/dist/CallingClient/CallingClient.js.map +1 -0
- package/dist/CallingClient/CallingClient.test.js +1625 -0
- package/dist/CallingClient/CallingClient.test.js.map +1 -0
- package/dist/CallingClient/callRecordFixtures.js +101 -0
- package/dist/CallingClient/callRecordFixtures.js.map +1 -0
- package/dist/CallingClient/calling/CallerId/index.js +275 -0
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
- package/dist/CallingClient/calling/CallerId/index.test.js +275 -0
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
- package/dist/CallingClient/calling/CallerId/types.js +7 -0
- package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
- package/dist/CallingClient/calling/call.js +3666 -0
- package/dist/CallingClient/calling/call.js.map +1 -0
- package/dist/CallingClient/calling/call.test.js +3970 -0
- package/dist/CallingClient/calling/call.test.js.map +1 -0
- package/dist/CallingClient/calling/callManager.js +531 -0
- package/dist/CallingClient/calling/callManager.js.map +1 -0
- package/dist/CallingClient/calling/callManager.test.js +881 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -0
- package/dist/CallingClient/calling/index.js +30 -0
- package/dist/CallingClient/calling/index.js.map +1 -0
- package/dist/CallingClient/calling/types.js +79 -0
- package/dist/CallingClient/calling/types.js.map +1 -0
- package/dist/CallingClient/callingClientFixtures.js +143 -0
- package/dist/CallingClient/callingClientFixtures.js.map +1 -0
- package/dist/CallingClient/constants.js +272 -0
- package/dist/CallingClient/constants.js.map +1 -0
- package/dist/CallingClient/line/index.js +339 -0
- package/dist/CallingClient/line/index.js.map +1 -0
- package/dist/CallingClient/line/line.test.js +379 -0
- package/dist/CallingClient/line/line.test.js.map +1 -0
- package/dist/CallingClient/line/types.js +21 -0
- package/dist/CallingClient/line/types.js.map +1 -0
- package/dist/CallingClient/registration/index.js +19 -0
- package/dist/CallingClient/registration/index.js.map +1 -0
- package/dist/CallingClient/registration/register.js +2079 -0
- package/dist/CallingClient/registration/register.js.map +1 -0
- package/dist/CallingClient/registration/register.test.js +2476 -0
- package/dist/CallingClient/registration/register.test.js.map +1 -0
- package/dist/CallingClient/registration/registerFixtures.js +36 -0
- package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
- package/dist/CallingClient/registration/types.js +33 -0
- package/dist/CallingClient/registration/types.js.map +1 -0
- package/dist/CallingClient/registration/webWorker.js +67 -0
- package/dist/CallingClient/registration/webWorker.js.map +1 -0
- package/dist/CallingClient/registration/webWorker.test.js +189 -0
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
- package/dist/CallingClient/registration/webWorkerStr.js +15 -0
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
- package/dist/CallingClient/types.js +14 -0
- package/dist/CallingClient/types.js.map +1 -0
- package/dist/CallingClient/utils/constants.js +58 -0
- package/dist/CallingClient/utils/constants.js.map +1 -0
- package/dist/CallingClient/utils/index.js +63 -0
- package/dist/CallingClient/utils/index.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +435 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +999 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/types.js +7 -0
- package/dist/CallingClient/utils/types.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +1208 -0
- package/dist/Contacts/ContactsClient.js.map +1 -0
- package/dist/Contacts/ContactsClient.test.js +999 -0
- package/dist/Contacts/ContactsClient.test.js.map +1 -0
- package/dist/Contacts/constants.js +40 -0
- package/dist/Contacts/constants.js.map +1 -0
- package/dist/Contacts/contactFixtures.js +430 -0
- package/dist/Contacts/contactFixtures.js.map +1 -0
- package/dist/Contacts/types.js +43 -0
- package/dist/Contacts/types.js.map +1 -0
- package/dist/Errors/catalog/CallError.js +89 -0
- package/dist/Errors/catalog/CallError.js.map +1 -0
- package/dist/Errors/catalog/CallingDeviceError.js +83 -0
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
- package/dist/Errors/catalog/ExtendedError.js +42 -0
- package/dist/Errors/catalog/ExtendedError.js.map +1 -0
- package/dist/Errors/catalog/LineError.js +85 -0
- package/dist/Errors/catalog/LineError.js.map +1 -0
- package/dist/Errors/index.js +28 -0
- package/dist/Errors/index.js.map +1 -0
- package/dist/Errors/types.js +61 -0
- package/dist/Errors/types.js.map +1 -0
- package/dist/Events/impl/index.js +79 -0
- package/dist/Events/impl/index.js.map +1 -0
- package/dist/Events/types.js +134 -0
- package/dist/Events/types.js.map +1 -0
- package/dist/Logger/index.js +228 -0
- package/dist/Logger/index.js.map +1 -0
- package/dist/Logger/index.test.js +87 -0
- package/dist/Logger/index.test.js.map +1 -0
- package/dist/Logger/types.js +34 -0
- package/dist/Logger/types.js.map +1 -0
- package/dist/Metrics/index.js +595 -0
- package/dist/Metrics/index.js.map +1 -0
- package/dist/Metrics/index.test.js +819 -0
- package/dist/Metrics/index.test.js.map +1 -0
- package/dist/Metrics/types.js +82 -0
- package/dist/Metrics/types.js.map +1 -0
- package/dist/SDKConnector/index.js +102 -0
- package/dist/SDKConnector/index.js.map +1 -0
- package/dist/SDKConnector/index.test.js +9 -0
- package/dist/SDKConnector/index.test.js.map +1 -0
- package/dist/SDKConnector/types.js +7 -0
- package/dist/SDKConnector/types.js.map +1 -0
- package/dist/SDKConnector/utils.js +39 -0
- package/dist/SDKConnector/utils.js.map +1 -0
- package/dist/SDKConnector/utils.test.js +9 -0
- package/dist/SDKConnector/utils.test.js.map +1 -0
- package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
- package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
- package/dist/Voicemail/UcmBackendConnector.js +628 -0
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
- package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
- package/dist/Voicemail/Voicemail.js +472 -0
- package/dist/Voicemail/Voicemail.js.map +1 -0
- package/dist/Voicemail/Voicemail.test.js +391 -0
- package/dist/Voicemail/Voicemail.test.js.map +1 -0
- package/dist/Voicemail/WxCallBackendConnector.js +657 -0
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
- package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
- package/dist/Voicemail/constants.js +61 -0
- package/dist/Voicemail/constants.js.map +1 -0
- package/dist/Voicemail/types.js +7 -0
- package/dist/Voicemail/types.js.map +1 -0
- package/dist/Voicemail/voicemailFixture.js +524 -0
- package/dist/Voicemail/voicemailFixture.js.map +1 -0
- package/dist/api.js +213 -0
- package/dist/api.js.map +1 -0
- package/dist/common/Utils.js +1624 -0
- package/dist/common/Utils.js.map +1 -0
- package/dist/common/Utils.test.js +2225 -0
- package/dist/common/Utils.test.js.map +1 -0
- package/dist/common/constants.js +62 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/index.js +19 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/testUtil.js +988 -0
- package/dist/common/testUtil.js.map +1 -0
- package/dist/common/types.js +78 -0
- package/dist/common/types.js.map +1 -0
- package/dist/index.js +452 -0
- package/dist/index.js.map +1 -0
- package/dist/mobius-socket/config.js +24 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +143 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/errors.test.js +20 -0
- package/dist/mobius-socket/errors.test.js.map +1 -0
- package/dist/mobius-socket/index.js +57 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +849 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1898 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +55 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +604 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +26 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +727 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +28 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallHistory/CallHistory.js +28 -17
- package/dist/module/CallRecording/CallRecording.js +56 -0
- package/dist/module/CallRecording/WxcCallRecordingConnector.js +257 -0
- package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
- package/dist/module/CallRecording/constants.js +28 -0
- package/dist/module/CallRecording/types.js +19 -0
- package/dist/module/CallRecording/utils.js +14 -0
- package/dist/module/CallingClient/CallingClient.js +166 -8
- package/dist/module/CallingClient/calling/call.js +201 -68
- package/dist/module/CallingClient/calling/callManager.js +51 -11
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +29 -0
- package/dist/module/CallingClient/line/index.js +4 -2
- package/dist/module/CallingClient/registration/register.js +274 -64
- package/dist/module/CallingClient/registration/types.js +5 -1
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/constants.js +36 -0
- package/dist/module/CallingClient/utils/index.js +5 -0
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
- package/dist/module/CallingClient/utils/request.js +211 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
- package/dist/module/Contacts/ContactsClient.js +1 -1
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/Events/types.js +23 -10
- package/dist/module/Metrics/index.js +48 -1
- package/dist/module/Metrics/types.js +18 -0
- package/dist/module/api.js +3 -2
- package/dist/module/common/Utils.js +85 -22
- package/dist/module/common/testUtil.js +6 -1
- package/dist/module/common/types.js +3 -0
- package/dist/module/index.js +7 -3
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +58 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +593 -0
- package/dist/module/mobius-socket/socket/constants.js +26 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +368 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallRecording/CallRecording.d.ts +18 -0
- package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
- package/dist/types/CallRecording/constants.d.ts +29 -0
- package/dist/types/CallRecording/constants.d.ts.map +1 -0
- package/dist/types/CallRecording/types.d.ts +176 -0
- package/dist/types/CallRecording/types.d.ts.map +1 -0
- package/dist/types/CallRecording/utils.d.ts +3 -0
- package/dist/types/CallRecording/utils.d.ts.map +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts +10 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +17 -3
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +8 -4
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +38 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +29 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +10 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +29 -3
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +6 -3
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/constants.d.ts +35 -0
- package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/index.d.ts +6 -0
- package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/request.d.ts +28 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +34 -0
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Events/types.d.ts +80 -16
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +19 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +39 -12
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/api.d.ts +6 -4
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +9 -4
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +5 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +9 -1
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +9 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +17 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +32 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +14 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +5 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/types.d.ts +61 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +21 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -0,0 +1,1208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
8
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
9
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
10
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
11
|
+
value: true
|
|
12
|
+
});
|
|
13
|
+
exports.createContactsClient = exports.ContactsClient = void 0;
|
|
14
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
15
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
16
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
17
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/entries"));
|
|
18
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
19
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
20
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
21
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
22
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
23
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
24
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
25
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
26
|
+
var _constants = require("../common/constants");
|
|
27
|
+
var _types = require("../common/types");
|
|
28
|
+
var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
|
|
29
|
+
var _Logger = _interopRequireDefault(require("../Logger"));
|
|
30
|
+
var _constants2 = require("./constants");
|
|
31
|
+
var _types2 = require("./types");
|
|
32
|
+
var _Utils = require("../common/Utils");
|
|
33
|
+
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable no-await-in-loop */
|
|
35
|
+
/**
|
|
36
|
+
* `ContactsClient` module is designed to offer a set of APIs for retrieving and updating contacts and groups from the contacts-service.
|
|
37
|
+
*
|
|
38
|
+
* This code snippet demonstrates how to create an instance of `ContactClient` using webex and logger.
|
|
39
|
+
*
|
|
40
|
+
* Example
|
|
41
|
+
* ```javascript
|
|
42
|
+
* const contactClient = createContactsClient(webex, logger);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
var ContactsClient = exports.ContactsClient = /*#__PURE__*/function () {
|
|
46
|
+
/**
|
|
47
|
+
* @ignore
|
|
48
|
+
*/
|
|
49
|
+
function ContactsClient(webex, logger) {
|
|
50
|
+
var _this$webex$internal$;
|
|
51
|
+
(0, _classCallCheck2.default)(this, ContactsClient);
|
|
52
|
+
(0, _defineProperty2.default)(this, "sdkConnector", void 0);
|
|
53
|
+
(0, _defineProperty2.default)(this, "encryptionKeyUrl", void 0);
|
|
54
|
+
(0, _defineProperty2.default)(this, "webex", void 0);
|
|
55
|
+
(0, _defineProperty2.default)(this, "groups", void 0);
|
|
56
|
+
(0, _defineProperty2.default)(this, "contacts", void 0);
|
|
57
|
+
(0, _defineProperty2.default)(this, "defaultGroupId", void 0);
|
|
58
|
+
(0, _defineProperty2.default)(this, "contactsServiceUrl", void 0);
|
|
59
|
+
this.sdkConnector = _SDKConnector.default;
|
|
60
|
+
if (!this.sdkConnector.getWebex()) {
|
|
61
|
+
_SDKConnector.default.setWebex(webex);
|
|
62
|
+
}
|
|
63
|
+
this.webex = this.sdkConnector.getWebex();
|
|
64
|
+
this.encryptionKeyUrl = '';
|
|
65
|
+
this.groups = undefined;
|
|
66
|
+
this.contacts = undefined;
|
|
67
|
+
this.defaultGroupId = '';
|
|
68
|
+
this.contactsServiceUrl = ((_this$webex$internal$ = this.webex.internal.services._serviceUrls) === null || _this$webex$internal$ === void 0 ? void 0 : _this$webex$internal$.contactsService) || this.webex.internal.services.get(this.webex.internal.services._activeServices.contactsService);
|
|
69
|
+
_Logger.default.setLogger(logger.level, _constants2.CONTACTS_CLIENT);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Decrypt emails, phoneNumbers, sipAddresses.
|
|
74
|
+
*/
|
|
75
|
+
return (0, _createClass2.default)(ContactsClient, [{
|
|
76
|
+
key: "decryptContactDetail",
|
|
77
|
+
value: (function () {
|
|
78
|
+
var _decryptContactDetail = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(encryptionKeyUrl, contactDetails) {
|
|
79
|
+
var _this = this;
|
|
80
|
+
var decryptedContactDetail, decryptedValues;
|
|
81
|
+
return _regenerator.default.wrap(function (_context) {
|
|
82
|
+
while (1) switch (_context.prev = _context.next) {
|
|
83
|
+
case 0:
|
|
84
|
+
decryptedContactDetail = (0, _toConsumableArray2.default)(contactDetails);
|
|
85
|
+
_context.next = 1;
|
|
86
|
+
return _promise.default.all(decryptedContactDetail.map(function (detail) {
|
|
87
|
+
return _this.webex.internal.encryption.decryptText(encryptionKeyUrl, detail.value);
|
|
88
|
+
}));
|
|
89
|
+
case 1:
|
|
90
|
+
decryptedValues = _context.sent;
|
|
91
|
+
decryptedValues.forEach(function (decryptedValue, index) {
|
|
92
|
+
decryptedContactDetail[index].value = decryptedValue;
|
|
93
|
+
});
|
|
94
|
+
return _context.abrupt("return", decryptedContactDetail);
|
|
95
|
+
case 2:
|
|
96
|
+
case "end":
|
|
97
|
+
return _context.stop();
|
|
98
|
+
}
|
|
99
|
+
}, _callee);
|
|
100
|
+
}));
|
|
101
|
+
function decryptContactDetail(_x, _x2) {
|
|
102
|
+
return _decryptContactDetail.apply(this, arguments);
|
|
103
|
+
}
|
|
104
|
+
return decryptContactDetail;
|
|
105
|
+
}()
|
|
106
|
+
/**
|
|
107
|
+
* Encrypt emails, phoneNumbers, sipAddresses.
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
)
|
|
111
|
+
}, {
|
|
112
|
+
key: "encryptContactDetail",
|
|
113
|
+
value: (function () {
|
|
114
|
+
var _encryptContactDetail = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(encryptionKeyUrl, contactDetails) {
|
|
115
|
+
var _this2 = this;
|
|
116
|
+
var encryptedContactDetail, encryptedValues;
|
|
117
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
118
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
encryptedContactDetail = (0, _toConsumableArray2.default)(contactDetails);
|
|
121
|
+
_context2.next = 1;
|
|
122
|
+
return _promise.default.all(encryptedContactDetail.map(function (detail) {
|
|
123
|
+
return _this2.webex.internal.encryption.encryptText(encryptionKeyUrl, detail.value);
|
|
124
|
+
}));
|
|
125
|
+
case 1:
|
|
126
|
+
encryptedValues = _context2.sent;
|
|
127
|
+
encryptedValues.forEach(function (encryptedValue, index) {
|
|
128
|
+
encryptedContactDetail[index].value = encryptedValue;
|
|
129
|
+
});
|
|
130
|
+
return _context2.abrupt("return", encryptedContactDetail);
|
|
131
|
+
case 2:
|
|
132
|
+
case "end":
|
|
133
|
+
return _context2.stop();
|
|
134
|
+
}
|
|
135
|
+
}, _callee2);
|
|
136
|
+
}));
|
|
137
|
+
function encryptContactDetail(_x3, _x4) {
|
|
138
|
+
return _encryptContactDetail.apply(this, arguments);
|
|
139
|
+
}
|
|
140
|
+
return encryptContactDetail;
|
|
141
|
+
}()
|
|
142
|
+
/**
|
|
143
|
+
* Encrypts a given contact.
|
|
144
|
+
*/
|
|
145
|
+
)
|
|
146
|
+
}, {
|
|
147
|
+
key: "encryptContact",
|
|
148
|
+
value: (function () {
|
|
149
|
+
var _encryptContact = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(contact) {
|
|
150
|
+
var _this3 = this;
|
|
151
|
+
var encryptionKeyUrl, encryptedContact, encryptionPromises, encryptedFieldsList;
|
|
152
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
153
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
154
|
+
case 0:
|
|
155
|
+
encryptionKeyUrl = contact.encryptionKeyUrl;
|
|
156
|
+
encryptedContact = _objectSpread({}, contact);
|
|
157
|
+
encryptionPromises = (0, _values.default)(_constants2.encryptedFields).map(/*#__PURE__*/function () {
|
|
158
|
+
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(field) {
|
|
159
|
+
var plaintextAddressInfo, encryptedAddressInfo, encryptedAddressInfoPromises, plainTextDetails, encryptedDetails, encryptedValue, _t3, _t4;
|
|
160
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
161
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
162
|
+
case 0:
|
|
163
|
+
_t3 = field;
|
|
164
|
+
_context4.next = _t3 === _constants2.encryptedFields.ADDRESS_INFO ? 1 : _t3 === _constants2.encryptedFields.EMAILS ? 4 : _t3 === _constants2.encryptedFields.PHONE_NUMBERS ? 4 : _t3 === _constants2.encryptedFields.SIP_ADDRESSES ? 4 : 7;
|
|
165
|
+
break;
|
|
166
|
+
case 1:
|
|
167
|
+
plaintextAddressInfo = encryptedContact.addressInfo;
|
|
168
|
+
if (!plaintextAddressInfo) {
|
|
169
|
+
_context4.next = 3;
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
encryptedAddressInfoPromises = (0, _entries.default)(plaintextAddressInfo).map(/*#__PURE__*/function () {
|
|
173
|
+
var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(_ref2) {
|
|
174
|
+
var _ref4, key, value, _t, _t2;
|
|
175
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
176
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
177
|
+
case 0:
|
|
178
|
+
_ref4 = (0, _slicedToArray2.default)(_ref2, 2), key = _ref4[0], value = _ref4[1];
|
|
179
|
+
_t = key;
|
|
180
|
+
_context3.next = 1;
|
|
181
|
+
return _this3.webex.internal.encryption.encryptText(encryptionKeyUrl, value);
|
|
182
|
+
case 1:
|
|
183
|
+
_t2 = _context3.sent;
|
|
184
|
+
return _context3.abrupt("return", [_t, _t2]);
|
|
185
|
+
case 2:
|
|
186
|
+
case "end":
|
|
187
|
+
return _context3.stop();
|
|
188
|
+
}
|
|
189
|
+
}, _callee3);
|
|
190
|
+
}));
|
|
191
|
+
return function (_x7) {
|
|
192
|
+
return _ref3.apply(this, arguments);
|
|
193
|
+
};
|
|
194
|
+
}());
|
|
195
|
+
_t4 = Object;
|
|
196
|
+
_context4.next = 2;
|
|
197
|
+
return _promise.default.all(encryptedAddressInfoPromises);
|
|
198
|
+
case 2:
|
|
199
|
+
encryptedAddressInfo = _t4.fromEntries.call(_t4, _context4.sent);
|
|
200
|
+
case 3:
|
|
201
|
+
return _context4.abrupt("return", [field, encryptedAddressInfo]);
|
|
202
|
+
case 4:
|
|
203
|
+
plainTextDetails = encryptedContact[field];
|
|
204
|
+
if (!plainTextDetails) {
|
|
205
|
+
_context4.next = 6;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
_context4.next = 5;
|
|
209
|
+
return _this3.encryptContactDetail(encryptionKeyUrl, plainTextDetails);
|
|
210
|
+
case 5:
|
|
211
|
+
encryptedDetails = _context4.sent;
|
|
212
|
+
case 6:
|
|
213
|
+
return _context4.abrupt("return", [field, encryptedDetails]);
|
|
214
|
+
case 7:
|
|
215
|
+
if (!((0, _values.default)(_constants2.encryptedFields).includes(field) && encryptedContact[field])) {
|
|
216
|
+
_context4.next = 9;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
_context4.next = 8;
|
|
220
|
+
return _this3.webex.internal.encryption.encryptText(encryptionKeyUrl, encryptedContact[field]);
|
|
221
|
+
case 8:
|
|
222
|
+
encryptedValue = _context4.sent;
|
|
223
|
+
case 9:
|
|
224
|
+
return _context4.abrupt("return", [field, encryptedValue]);
|
|
225
|
+
case 10:
|
|
226
|
+
case "end":
|
|
227
|
+
return _context4.stop();
|
|
228
|
+
}
|
|
229
|
+
}, _callee4);
|
|
230
|
+
}));
|
|
231
|
+
return function (_x6) {
|
|
232
|
+
return _ref.apply(this, arguments);
|
|
233
|
+
};
|
|
234
|
+
}());
|
|
235
|
+
_context5.next = 1;
|
|
236
|
+
return _promise.default.all(encryptionPromises);
|
|
237
|
+
case 1:
|
|
238
|
+
encryptedFieldsList = _context5.sent;
|
|
239
|
+
encryptedFieldsList.forEach(function (_ref5) {
|
|
240
|
+
var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
241
|
+
field = _ref6[0],
|
|
242
|
+
value = _ref6[1];
|
|
243
|
+
if (value !== undefined) {
|
|
244
|
+
encryptedContact[field] = value;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
return _context5.abrupt("return", encryptedContact);
|
|
248
|
+
case 2:
|
|
249
|
+
case "end":
|
|
250
|
+
return _context5.stop();
|
|
251
|
+
}
|
|
252
|
+
}, _callee5);
|
|
253
|
+
}));
|
|
254
|
+
function encryptContact(_x5) {
|
|
255
|
+
return _encryptContact.apply(this, arguments);
|
|
256
|
+
}
|
|
257
|
+
return encryptContact;
|
|
258
|
+
}()
|
|
259
|
+
/**
|
|
260
|
+
* Decrypts a given contact.
|
|
261
|
+
*/
|
|
262
|
+
)
|
|
263
|
+
}, {
|
|
264
|
+
key: "decryptContact",
|
|
265
|
+
value: (function () {
|
|
266
|
+
var _decryptContact = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(contact) {
|
|
267
|
+
var _this4 = this;
|
|
268
|
+
var encryptionKeyUrl, decryptedContact, decryptionPromises, decryptedFieldsList;
|
|
269
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
270
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
271
|
+
case 0:
|
|
272
|
+
encryptionKeyUrl = contact.encryptionKeyUrl;
|
|
273
|
+
decryptedContact = _objectSpread({}, contact);
|
|
274
|
+
decryptionPromises = (0, _values.default)(_constants2.encryptedFields).map(/*#__PURE__*/function () {
|
|
275
|
+
var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(field) {
|
|
276
|
+
var plaintextAddressInfo, decryptedAddressInfo, decryptedAddressInfoPromises, plainTextDetails, decryptedDetails, decryptedValue, _t7, _t8;
|
|
277
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
278
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
279
|
+
case 0:
|
|
280
|
+
_t7 = field;
|
|
281
|
+
_context7.next = _t7 === _constants2.encryptedFields.ADDRESS_INFO ? 1 : _t7 === _constants2.encryptedFields.EMAILS ? 4 : _t7 === _constants2.encryptedFields.PHONE_NUMBERS ? 4 : _t7 === _constants2.encryptedFields.SIP_ADDRESSES ? 4 : 7;
|
|
282
|
+
break;
|
|
283
|
+
case 1:
|
|
284
|
+
plaintextAddressInfo = decryptedContact.addressInfo;
|
|
285
|
+
if (!plaintextAddressInfo) {
|
|
286
|
+
_context7.next = 3;
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
decryptedAddressInfoPromises = (0, _entries.default)(plaintextAddressInfo).map(/*#__PURE__*/function () {
|
|
290
|
+
var _ref9 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(_ref8) {
|
|
291
|
+
var _ref0, key, value, _t5, _t6;
|
|
292
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
293
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
294
|
+
case 0:
|
|
295
|
+
_ref0 = (0, _slicedToArray2.default)(_ref8, 2), key = _ref0[0], value = _ref0[1];
|
|
296
|
+
_t5 = key;
|
|
297
|
+
_context6.next = 1;
|
|
298
|
+
return _this4.webex.internal.encryption.decryptText(encryptionKeyUrl, value);
|
|
299
|
+
case 1:
|
|
300
|
+
_t6 = _context6.sent;
|
|
301
|
+
return _context6.abrupt("return", [_t5, _t6]);
|
|
302
|
+
case 2:
|
|
303
|
+
case "end":
|
|
304
|
+
return _context6.stop();
|
|
305
|
+
}
|
|
306
|
+
}, _callee6);
|
|
307
|
+
}));
|
|
308
|
+
return function (_x0) {
|
|
309
|
+
return _ref9.apply(this, arguments);
|
|
310
|
+
};
|
|
311
|
+
}());
|
|
312
|
+
_t8 = Object;
|
|
313
|
+
_context7.next = 2;
|
|
314
|
+
return _promise.default.all(decryptedAddressInfoPromises);
|
|
315
|
+
case 2:
|
|
316
|
+
decryptedAddressInfo = _t8.fromEntries.call(_t8, _context7.sent);
|
|
317
|
+
case 3:
|
|
318
|
+
return _context7.abrupt("return", [field, decryptedAddressInfo]);
|
|
319
|
+
case 4:
|
|
320
|
+
plainTextDetails = decryptedContact[field];
|
|
321
|
+
if (!plainTextDetails) {
|
|
322
|
+
_context7.next = 6;
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
_context7.next = 5;
|
|
326
|
+
return _this4.decryptContactDetail(encryptionKeyUrl, plainTextDetails);
|
|
327
|
+
case 5:
|
|
328
|
+
decryptedDetails = _context7.sent;
|
|
329
|
+
case 6:
|
|
330
|
+
return _context7.abrupt("return", [field, decryptedDetails]);
|
|
331
|
+
case 7:
|
|
332
|
+
if (!((0, _values.default)(_constants2.encryptedFields).includes(field) && decryptedContact[field])) {
|
|
333
|
+
_context7.next = 9;
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
_context7.next = 8;
|
|
337
|
+
return _this4.webex.internal.encryption.decryptText(encryptionKeyUrl, decryptedContact[field]);
|
|
338
|
+
case 8:
|
|
339
|
+
decryptedValue = _context7.sent;
|
|
340
|
+
case 9:
|
|
341
|
+
return _context7.abrupt("return", [field, decryptedValue]);
|
|
342
|
+
case 10:
|
|
343
|
+
case "end":
|
|
344
|
+
return _context7.stop();
|
|
345
|
+
}
|
|
346
|
+
}, _callee7);
|
|
347
|
+
}));
|
|
348
|
+
return function (_x9) {
|
|
349
|
+
return _ref7.apply(this, arguments);
|
|
350
|
+
};
|
|
351
|
+
}());
|
|
352
|
+
_context8.next = 1;
|
|
353
|
+
return _promise.default.all(decryptionPromises);
|
|
354
|
+
case 1:
|
|
355
|
+
decryptedFieldsList = _context8.sent;
|
|
356
|
+
decryptedFieldsList.forEach(function (_ref1) {
|
|
357
|
+
var _ref10 = (0, _slicedToArray2.default)(_ref1, 2),
|
|
358
|
+
field = _ref10[0],
|
|
359
|
+
value = _ref10[1];
|
|
360
|
+
if (value !== undefined) {
|
|
361
|
+
decryptedContact[field] = value;
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
return _context8.abrupt("return", decryptedContact);
|
|
365
|
+
case 2:
|
|
366
|
+
case "end":
|
|
367
|
+
return _context8.stop();
|
|
368
|
+
}
|
|
369
|
+
}, _callee8);
|
|
370
|
+
}));
|
|
371
|
+
function decryptContact(_x8) {
|
|
372
|
+
return _decryptContact.apply(this, arguments);
|
|
373
|
+
}
|
|
374
|
+
return decryptContact;
|
|
375
|
+
}())
|
|
376
|
+
}, {
|
|
377
|
+
key: "resolveCloudContacts",
|
|
378
|
+
value: function resolveCloudContacts(contactsDataMap, inputList) {
|
|
379
|
+
var loggerContext = {
|
|
380
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
381
|
+
method: 'resolveCloudContacts'
|
|
382
|
+
};
|
|
383
|
+
var finalContactList = [];
|
|
384
|
+
var resolvedList = [];
|
|
385
|
+
try {
|
|
386
|
+
inputList.Resources.forEach(function (item) {
|
|
387
|
+
resolvedList.push(item.id);
|
|
388
|
+
});
|
|
389
|
+
(0, _values.default)(contactsDataMap).forEach(function (item) {
|
|
390
|
+
var isResolved = resolvedList.some(function (listItem) {
|
|
391
|
+
return listItem === item.contactId;
|
|
392
|
+
});
|
|
393
|
+
if (!isResolved) {
|
|
394
|
+
finalContactList.push(_objectSpread(_objectSpread({}, item), {}, {
|
|
395
|
+
resolved: false
|
|
396
|
+
}));
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
for (var n = 0; n < inputList.Resources.length; n += 1) {
|
|
400
|
+
var _filteredContact$name, _filteredContact$name2, _filteredContact$SCIM, _filteredContact$SCIM2, _filteredContact$SCIM3;
|
|
401
|
+
var filteredContact = inputList.Resources[n];
|
|
402
|
+
var displayName = filteredContact.displayName,
|
|
403
|
+
emails = filteredContact.emails,
|
|
404
|
+
phoneNumbers = filteredContact.phoneNumbers,
|
|
405
|
+
photos = filteredContact.photos;
|
|
406
|
+
var sipAddresses = void 0;
|
|
407
|
+
if (filteredContact[_constants.SCIM_WEBEXIDENTITY_USER]) {
|
|
408
|
+
sipAddresses = filteredContact[_constants.SCIM_WEBEXIDENTITY_USER].sipAddresses;
|
|
409
|
+
}
|
|
410
|
+
var firstName = (_filteredContact$name = filteredContact.name) === null || _filteredContact$name === void 0 ? void 0 : _filteredContact$name.givenName;
|
|
411
|
+
var lastName = (_filteredContact$name2 = filteredContact.name) === null || _filteredContact$name2 === void 0 ? void 0 : _filteredContact$name2.familyName;
|
|
412
|
+
var manager = (_filteredContact$SCIM = filteredContact[_constants.SCIM_ENTERPRISE_USER]) === null || _filteredContact$SCIM === void 0 ? void 0 : (_filteredContact$SCIM2 = _filteredContact$SCIM.manager) === null || _filteredContact$SCIM2 === void 0 ? void 0 : _filteredContact$SCIM2.displayName;
|
|
413
|
+
var department = (_filteredContact$SCIM3 = filteredContact[_constants.SCIM_ENTERPRISE_USER]) === null || _filteredContact$SCIM3 === void 0 ? void 0 : _filteredContact$SCIM3.department;
|
|
414
|
+
var avatarURL = photos !== null && photos !== void 0 && photos.length ? photos[0].value : '';
|
|
415
|
+
var _contactsDataMap$inpu = contactsDataMap[inputList.Resources[n].id],
|
|
416
|
+
contactType = _contactsDataMap$inpu.contactType,
|
|
417
|
+
avatarUrlDomain = _contactsDataMap$inpu.avatarUrlDomain,
|
|
418
|
+
encryptionKeyUrl = _contactsDataMap$inpu.encryptionKeyUrl,
|
|
419
|
+
ownerId = _contactsDataMap$inpu.ownerId,
|
|
420
|
+
groups = _contactsDataMap$inpu.groups;
|
|
421
|
+
var cloudContact = {
|
|
422
|
+
avatarUrlDomain: avatarUrlDomain,
|
|
423
|
+
avatarURL: avatarURL,
|
|
424
|
+
contactId: inputList.Resources[n].id,
|
|
425
|
+
contactType: contactType,
|
|
426
|
+
department: department,
|
|
427
|
+
displayName: displayName,
|
|
428
|
+
emails: emails,
|
|
429
|
+
encryptionKeyUrl: encryptionKeyUrl,
|
|
430
|
+
firstName: firstName,
|
|
431
|
+
groups: groups,
|
|
432
|
+
lastName: lastName,
|
|
433
|
+
manager: manager,
|
|
434
|
+
ownerId: ownerId,
|
|
435
|
+
phoneNumbers: phoneNumbers,
|
|
436
|
+
sipAddresses: sipAddresses,
|
|
437
|
+
resolved: true
|
|
438
|
+
};
|
|
439
|
+
finalContactList.push(cloudContact);
|
|
440
|
+
}
|
|
441
|
+
} catch (error) {
|
|
442
|
+
_Logger.default.warn('Error occurred while parsing resolved contacts', loggerContext);
|
|
443
|
+
return null;
|
|
444
|
+
}
|
|
445
|
+
return finalContactList;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Returns list of contacts.
|
|
450
|
+
*/
|
|
451
|
+
}, {
|
|
452
|
+
key: "getContacts",
|
|
453
|
+
value: (function () {
|
|
454
|
+
var _getContacts = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
|
|
455
|
+
var _this5 = this;
|
|
456
|
+
var loggerContext, contactList, cloudContactsMap, _response$headers, response, responseBody, contacts, groups, contactIdList, totalContacts, MAX_CONTACTS_PER_QUERY, i, contactIdListChunk, query, result, slicedCloudContactsMap, resolvedContacts, contactResponse, errorStatus, _t9, _t0;
|
|
457
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
458
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
459
|
+
case 0:
|
|
460
|
+
loggerContext = {
|
|
461
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
462
|
+
method: _constants2.METHODS.GET_CONTACTS
|
|
463
|
+
};
|
|
464
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
465
|
+
contactList = [];
|
|
466
|
+
cloudContactsMap = {};
|
|
467
|
+
_context1.prev = 1;
|
|
468
|
+
_context1.next = 2;
|
|
469
|
+
return this.webex.request({
|
|
470
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
471
|
+
uri: "".concat(this.contactsServiceUrl, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.CONTACT_FILTER),
|
|
472
|
+
method: _types.HTTP_METHODS.GET
|
|
473
|
+
});
|
|
474
|
+
case 2:
|
|
475
|
+
response = _context1.sent;
|
|
476
|
+
_Logger.default.log("Response code: ".concat(response.statusCode, " and Response trackingId: ").concat(response === null || response === void 0 ? void 0 : (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.trackingid), loggerContext);
|
|
477
|
+
responseBody = response.body;
|
|
478
|
+
if (responseBody) {
|
|
479
|
+
_context1.next = 3;
|
|
480
|
+
break;
|
|
481
|
+
}
|
|
482
|
+
throw new Error("".concat(response));
|
|
483
|
+
case 3:
|
|
484
|
+
contacts = responseBody.contacts, groups = responseBody.groups;
|
|
485
|
+
_context1.next = 4;
|
|
486
|
+
return _promise.default.all(contacts.map(/*#__PURE__*/function () {
|
|
487
|
+
var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(contact) {
|
|
488
|
+
var decryptedContact;
|
|
489
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
490
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
491
|
+
case 0:
|
|
492
|
+
if (!(contact.contactType === _types2.ContactType.CUSTOM)) {
|
|
493
|
+
_context9.next = 2;
|
|
494
|
+
break;
|
|
495
|
+
}
|
|
496
|
+
_context9.next = 1;
|
|
497
|
+
return _this5.decryptContact(contact);
|
|
498
|
+
case 1:
|
|
499
|
+
decryptedContact = _context9.sent;
|
|
500
|
+
contactList.push(decryptedContact);
|
|
501
|
+
_context9.next = 3;
|
|
502
|
+
break;
|
|
503
|
+
case 2:
|
|
504
|
+
if (contact.contactType === _types2.ContactType.CLOUD && contact.contactId) {
|
|
505
|
+
cloudContactsMap[contact.contactId] = contact;
|
|
506
|
+
}
|
|
507
|
+
case 3:
|
|
508
|
+
case "end":
|
|
509
|
+
return _context9.stop();
|
|
510
|
+
}
|
|
511
|
+
}, _callee9);
|
|
512
|
+
}));
|
|
513
|
+
return function (_x1) {
|
|
514
|
+
return _ref11.apply(this, arguments);
|
|
515
|
+
};
|
|
516
|
+
}()));
|
|
517
|
+
case 4:
|
|
518
|
+
if (!(0, _keys.default)(cloudContactsMap).length) {
|
|
519
|
+
_context1.next = 10;
|
|
520
|
+
break;
|
|
521
|
+
}
|
|
522
|
+
contactIdList = (0, _keys.default)(cloudContactsMap);
|
|
523
|
+
totalContacts = contactIdList.length;
|
|
524
|
+
MAX_CONTACTS_PER_QUERY = 50;
|
|
525
|
+
i = 0;
|
|
526
|
+
case 5:
|
|
527
|
+
if (!(i < totalContacts)) {
|
|
528
|
+
_context1.next = 10;
|
|
529
|
+
break;
|
|
530
|
+
}
|
|
531
|
+
_context1.prev = 6;
|
|
532
|
+
contactIdListChunk = contactIdList.slice(i, i + MAX_CONTACTS_PER_QUERY);
|
|
533
|
+
query = contactIdListChunk.map(function (item) {
|
|
534
|
+
return "".concat(_constants2.SCIM_ID_FILTER, " \"").concat(item, "\"");
|
|
535
|
+
}).join(_constants2.OR);
|
|
536
|
+
_context1.next = 7;
|
|
537
|
+
return (0, _Utils.scimQuery)(query);
|
|
538
|
+
case 7:
|
|
539
|
+
result = _context1.sent;
|
|
540
|
+
slicedCloudContactsMap = Object.fromEntries((0, _entries.default)(cloudContactsMap).slice(i, i + MAX_CONTACTS_PER_QUERY));
|
|
541
|
+
resolvedContacts = this.resolveCloudContacts(slicedCloudContactsMap, result.body);
|
|
542
|
+
if (resolvedContacts) {
|
|
543
|
+
resolvedContacts.forEach(function (item) {
|
|
544
|
+
return contactList.push(item);
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
_context1.next = 9;
|
|
548
|
+
break;
|
|
549
|
+
case 8:
|
|
550
|
+
_context1.prev = 8;
|
|
551
|
+
_t9 = _context1["catch"](6);
|
|
552
|
+
_Logger.default.warn("Error processing contact chunk ".concat(i, "-").concat(i + MAX_CONTACTS_PER_QUERY), loggerContext);
|
|
553
|
+
case 9:
|
|
554
|
+
i += MAX_CONTACTS_PER_QUERY;
|
|
555
|
+
_context1.next = 5;
|
|
556
|
+
break;
|
|
557
|
+
case 10:
|
|
558
|
+
_context1.next = 11;
|
|
559
|
+
return _promise.default.all(groups.map(/*#__PURE__*/function () {
|
|
560
|
+
var _ref12 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(group, idx) {
|
|
561
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
562
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
563
|
+
case 0:
|
|
564
|
+
_context0.next = 1;
|
|
565
|
+
return _this5.webex.internal.encryption.decryptText(group.encryptionKeyUrl, group.displayName);
|
|
566
|
+
case 1:
|
|
567
|
+
groups[idx].displayName = _context0.sent;
|
|
568
|
+
case 2:
|
|
569
|
+
case "end":
|
|
570
|
+
return _context0.stop();
|
|
571
|
+
}
|
|
572
|
+
}, _callee0);
|
|
573
|
+
}));
|
|
574
|
+
return function (_x10, _x11) {
|
|
575
|
+
return _ref12.apply(this, arguments);
|
|
576
|
+
};
|
|
577
|
+
}()));
|
|
578
|
+
case 11:
|
|
579
|
+
this.groups = groups;
|
|
580
|
+
this.contacts = contactList;
|
|
581
|
+
contactResponse = {
|
|
582
|
+
statusCode: Number(response[_constants.STATUS_CODE]),
|
|
583
|
+
data: {
|
|
584
|
+
contacts: contactList,
|
|
585
|
+
groups: groups
|
|
586
|
+
},
|
|
587
|
+
message: _constants.SUCCESS_MESSAGE
|
|
588
|
+
};
|
|
589
|
+
_Logger.default.log('Successfully fetched contacts and groups', loggerContext);
|
|
590
|
+
return _context1.abrupt("return", contactResponse);
|
|
591
|
+
case 12:
|
|
592
|
+
_context1.prev = 12;
|
|
593
|
+
_t0 = _context1["catch"](1);
|
|
594
|
+
_Logger.default.error("Error fetching contacts: ".concat((0, _stringify.default)(_t0)), loggerContext);
|
|
595
|
+
errorStatus = (0, _Utils.serviceErrorCodeHandler)(_t0, loggerContext);
|
|
596
|
+
_context1.next = 13;
|
|
597
|
+
return (0, _Utils.uploadLogs)();
|
|
598
|
+
case 13:
|
|
599
|
+
return _context1.abrupt("return", errorStatus);
|
|
600
|
+
case 14:
|
|
601
|
+
case "end":
|
|
602
|
+
return _context1.stop();
|
|
603
|
+
}
|
|
604
|
+
}, _callee1, this, [[1, 12], [6, 8]]);
|
|
605
|
+
}));
|
|
606
|
+
function getContacts() {
|
|
607
|
+
return _getContacts.apply(this, arguments);
|
|
608
|
+
}
|
|
609
|
+
return getContacts;
|
|
610
|
+
}()
|
|
611
|
+
/**
|
|
612
|
+
* Creates a new KMS Resource Object (KRO) and Content Key (CK) which is used for encryption.
|
|
613
|
+
*
|
|
614
|
+
* @returns EncryptionKeyUrl as a Promise.
|
|
615
|
+
*/
|
|
616
|
+
)
|
|
617
|
+
}, {
|
|
618
|
+
key: "createNewEncryptionKeyUrl",
|
|
619
|
+
value: (function () {
|
|
620
|
+
var _createNewEncryptionKeyUrl = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
|
|
621
|
+
var loggerContext, unboundedKeyUri, unboundedKeys;
|
|
622
|
+
return _regenerator.default.wrap(function (_context10) {
|
|
623
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
624
|
+
case 0:
|
|
625
|
+
loggerContext = {
|
|
626
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
627
|
+
method: _constants2.METHODS.CREATE_NEW_ENCRYPTION_KEY_URL
|
|
628
|
+
};
|
|
629
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
630
|
+
unboundedKeyUri = '';
|
|
631
|
+
_Logger.default.info('Requesting kms for a new KRO and key', loggerContext);
|
|
632
|
+
_context10.next = 1;
|
|
633
|
+
return this.webex.internal.encryption.kms.createUnboundKeys({
|
|
634
|
+
count: 1
|
|
635
|
+
});
|
|
636
|
+
case 1:
|
|
637
|
+
unboundedKeys = _context10.sent;
|
|
638
|
+
unboundedKeyUri = unboundedKeys[0].uri;
|
|
639
|
+
this.webex.internal.encryption.kms.createResource({
|
|
640
|
+
keyUris: [unboundedKeyUri]
|
|
641
|
+
});
|
|
642
|
+
return _context10.abrupt("return", unboundedKeyUri);
|
|
643
|
+
case 2:
|
|
644
|
+
case "end":
|
|
645
|
+
return _context10.stop();
|
|
646
|
+
}
|
|
647
|
+
}, _callee10, this);
|
|
648
|
+
}));
|
|
649
|
+
function createNewEncryptionKeyUrl() {
|
|
650
|
+
return _createNewEncryptionKeyUrl.apply(this, arguments);
|
|
651
|
+
}
|
|
652
|
+
return createNewEncryptionKeyUrl;
|
|
653
|
+
}()
|
|
654
|
+
/**
|
|
655
|
+
* Fetches the encryptionKeyUrl from one of the groups. Creates a new key and default group if there is no data.
|
|
656
|
+
*
|
|
657
|
+
* @returns EncryptionKeyUrl as a Promise.
|
|
658
|
+
*/
|
|
659
|
+
)
|
|
660
|
+
}, {
|
|
661
|
+
key: "fetchEncryptionKeyUrl",
|
|
662
|
+
value: (function () {
|
|
663
|
+
var _fetchEncryptionKeyUrl = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
|
|
664
|
+
var _response$data$group;
|
|
665
|
+
var loggerContext, response, _response$data$group2;
|
|
666
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
667
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
668
|
+
case 0:
|
|
669
|
+
loggerContext = {
|
|
670
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
671
|
+
method: _constants2.METHODS.FETCH_ENCRYPTION_KEY_URL
|
|
672
|
+
};
|
|
673
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
674
|
+
if (!this.encryptionKeyUrl) {
|
|
675
|
+
_context11.next = 1;
|
|
676
|
+
break;
|
|
677
|
+
}
|
|
678
|
+
return _context11.abrupt("return", this.encryptionKeyUrl);
|
|
679
|
+
case 1:
|
|
680
|
+
if (!(this.groups === undefined)) {
|
|
681
|
+
_context11.next = 2;
|
|
682
|
+
break;
|
|
683
|
+
}
|
|
684
|
+
_context11.next = 2;
|
|
685
|
+
return this.getContacts();
|
|
686
|
+
case 2:
|
|
687
|
+
if (!(this.groups && this.groups.length)) {
|
|
688
|
+
_context11.next = 3;
|
|
689
|
+
break;
|
|
690
|
+
}
|
|
691
|
+
return _context11.abrupt("return", this.groups[0].encryptionKeyUrl);
|
|
692
|
+
case 3:
|
|
693
|
+
_context11.next = 4;
|
|
694
|
+
return this.createNewEncryptionKeyUrl();
|
|
695
|
+
case 4:
|
|
696
|
+
this.encryptionKeyUrl = _context11.sent;
|
|
697
|
+
_Logger.default.log("Creating a default group: ".concat(_constants2.DEFAULT_GROUP_NAME), {
|
|
698
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
699
|
+
method: this.fetchEncryptionKeyUrl.name
|
|
700
|
+
});
|
|
701
|
+
_context11.next = 5;
|
|
702
|
+
return this.createContactGroup(_constants2.DEFAULT_GROUP_NAME, this.encryptionKeyUrl);
|
|
703
|
+
case 5:
|
|
704
|
+
response = _context11.sent;
|
|
705
|
+
if ((_response$data$group = response.data.group) !== null && _response$data$group !== void 0 && _response$data$group.groupId) {
|
|
706
|
+
this.defaultGroupId = (_response$data$group2 = response.data.group) === null || _response$data$group2 === void 0 ? void 0 : _response$data$group2.groupId;
|
|
707
|
+
_Logger.default.log("Successfully created default group with ID: ".concat(this.defaultGroupId), {
|
|
708
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
709
|
+
method: this.fetchEncryptionKeyUrl.name
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
return _context11.abrupt("return", this.encryptionKeyUrl);
|
|
713
|
+
case 6:
|
|
714
|
+
case "end":
|
|
715
|
+
return _context11.stop();
|
|
716
|
+
}
|
|
717
|
+
}, _callee11, this);
|
|
718
|
+
}));
|
|
719
|
+
function fetchEncryptionKeyUrl() {
|
|
720
|
+
return _fetchEncryptionKeyUrl.apply(this, arguments);
|
|
721
|
+
}
|
|
722
|
+
return fetchEncryptionKeyUrl;
|
|
723
|
+
}()
|
|
724
|
+
/**
|
|
725
|
+
* Fetches a default group.
|
|
726
|
+
*
|
|
727
|
+
* @returns GroupId of default group.
|
|
728
|
+
*/
|
|
729
|
+
)
|
|
730
|
+
}, {
|
|
731
|
+
key: "fetchDefaultGroup",
|
|
732
|
+
value: (function () {
|
|
733
|
+
var _fetchDefaultGroup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
|
|
734
|
+
var loggerContext, i, response, group, groupId;
|
|
735
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
736
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
737
|
+
case 0:
|
|
738
|
+
loggerContext = {
|
|
739
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
740
|
+
method: _constants2.METHODS.FETCH_DEFAULT_GROUP
|
|
741
|
+
};
|
|
742
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
743
|
+
if (!this.defaultGroupId) {
|
|
744
|
+
_context12.next = 1;
|
|
745
|
+
break;
|
|
746
|
+
}
|
|
747
|
+
_Logger.default.log("Using existing default group with ID: ".concat(this.defaultGroupId), {
|
|
748
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
749
|
+
method: this.fetchDefaultGroup.name
|
|
750
|
+
});
|
|
751
|
+
return _context12.abrupt("return", this.defaultGroupId);
|
|
752
|
+
case 1:
|
|
753
|
+
if (!(this.groups && this.groups.length)) {
|
|
754
|
+
_context12.next = 4;
|
|
755
|
+
break;
|
|
756
|
+
}
|
|
757
|
+
i = 0;
|
|
758
|
+
case 2:
|
|
759
|
+
if (!(i < this.groups.length)) {
|
|
760
|
+
_context12.next = 4;
|
|
761
|
+
break;
|
|
762
|
+
}
|
|
763
|
+
if (!(this.groups[i].displayName === _constants2.DEFAULT_GROUP_NAME)) {
|
|
764
|
+
_context12.next = 3;
|
|
765
|
+
break;
|
|
766
|
+
}
|
|
767
|
+
this.defaultGroupId = this.groups[i].groupId;
|
|
768
|
+
_Logger.default.log("Found default group with ID: ".concat(this.defaultGroupId), {
|
|
769
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
770
|
+
method: this.fetchDefaultGroup.name
|
|
771
|
+
});
|
|
772
|
+
return _context12.abrupt("return", this.defaultGroupId);
|
|
773
|
+
case 3:
|
|
774
|
+
i += 1;
|
|
775
|
+
_context12.next = 2;
|
|
776
|
+
break;
|
|
777
|
+
case 4:
|
|
778
|
+
_Logger.default.log('No default group found.', {
|
|
779
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
780
|
+
method: this.fetchDefaultGroup.name
|
|
781
|
+
});
|
|
782
|
+
_context12.next = 5;
|
|
783
|
+
return this.createContactGroup(_constants2.DEFAULT_GROUP_NAME);
|
|
784
|
+
case 5:
|
|
785
|
+
response = _context12.sent;
|
|
786
|
+
group = response.data.group;
|
|
787
|
+
if (!group) {
|
|
788
|
+
_context12.next = 6;
|
|
789
|
+
break;
|
|
790
|
+
}
|
|
791
|
+
groupId = group.groupId;
|
|
792
|
+
_Logger.default.log("Successfully created new default group with ID: ".concat(groupId), {
|
|
793
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
794
|
+
method: this.fetchDefaultGroup.name
|
|
795
|
+
});
|
|
796
|
+
return _context12.abrupt("return", groupId);
|
|
797
|
+
case 6:
|
|
798
|
+
return _context12.abrupt("return", '');
|
|
799
|
+
case 7:
|
|
800
|
+
case "end":
|
|
801
|
+
return _context12.stop();
|
|
802
|
+
}
|
|
803
|
+
}, _callee12, this);
|
|
804
|
+
}));
|
|
805
|
+
function fetchDefaultGroup() {
|
|
806
|
+
return _fetchDefaultGroup.apply(this, arguments);
|
|
807
|
+
}
|
|
808
|
+
return fetchDefaultGroup;
|
|
809
|
+
}()
|
|
810
|
+
/**
|
|
811
|
+
* Creates a personal contact group.
|
|
812
|
+
* Also creates a KRO, if there aren't any groups.
|
|
813
|
+
* @param displayName - Name of the group to create.
|
|
814
|
+
* @param encryptionKeyUrl - EncryptionKeyUrl to encrypt the displayName.
|
|
815
|
+
* @param groupType - Type of the group to create.
|
|
816
|
+
*/
|
|
817
|
+
)
|
|
818
|
+
}, {
|
|
819
|
+
key: "createContactGroup",
|
|
820
|
+
value: (function () {
|
|
821
|
+
var _createContactGroup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(displayName, encryptionKeyUrl, groupType) {
|
|
822
|
+
var loggerContext, encryptionKeyUrlFinal, isExistingGroup, encryptedDisplayName, groupInfo, _response$headers2, _this$groups, response, group, contactResponse, errorStatus, _t1, _t10;
|
|
823
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
824
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
825
|
+
case 0:
|
|
826
|
+
loggerContext = {
|
|
827
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
828
|
+
method: _constants2.METHODS.CREATE_CONTACT_GROUP
|
|
829
|
+
};
|
|
830
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with displayName: ").concat(displayName), loggerContext);
|
|
831
|
+
_t1 = encryptionKeyUrl;
|
|
832
|
+
if (_t1) {
|
|
833
|
+
_context13.next = 2;
|
|
834
|
+
break;
|
|
835
|
+
}
|
|
836
|
+
_context13.next = 1;
|
|
837
|
+
return this.fetchEncryptionKeyUrl();
|
|
838
|
+
case 1:
|
|
839
|
+
_t1 = _context13.sent;
|
|
840
|
+
case 2:
|
|
841
|
+
encryptionKeyUrlFinal = _t1;
|
|
842
|
+
if (!(this.groups === undefined)) {
|
|
843
|
+
_context13.next = 3;
|
|
844
|
+
break;
|
|
845
|
+
}
|
|
846
|
+
_context13.next = 3;
|
|
847
|
+
return this.getContacts();
|
|
848
|
+
case 3:
|
|
849
|
+
if (!(this.groups && this.groups.length)) {
|
|
850
|
+
_context13.next = 4;
|
|
851
|
+
break;
|
|
852
|
+
}
|
|
853
|
+
isExistingGroup = this.groups.find(function (group) {
|
|
854
|
+
return group.displayName === displayName;
|
|
855
|
+
});
|
|
856
|
+
if (!isExistingGroup) {
|
|
857
|
+
_context13.next = 4;
|
|
858
|
+
break;
|
|
859
|
+
}
|
|
860
|
+
_Logger.default.warn("Group name ".concat(displayName, " already exists."), loggerContext);
|
|
861
|
+
return _context13.abrupt("return", {
|
|
862
|
+
statusCode: 400,
|
|
863
|
+
data: {
|
|
864
|
+
error: 'Group displayName already exists'
|
|
865
|
+
},
|
|
866
|
+
message: _constants.FAILURE_MESSAGE
|
|
867
|
+
});
|
|
868
|
+
case 4:
|
|
869
|
+
_context13.next = 5;
|
|
870
|
+
return this.webex.internal.encryption.encryptText(encryptionKeyUrlFinal, displayName);
|
|
871
|
+
case 5:
|
|
872
|
+
encryptedDisplayName = _context13.sent;
|
|
873
|
+
groupInfo = {
|
|
874
|
+
schemas: _constants2.CONTACTS_SCHEMA,
|
|
875
|
+
displayName: encryptedDisplayName,
|
|
876
|
+
groupType: groupType || _types2.GroupType.NORMAL,
|
|
877
|
+
encryptionKeyUrl: encryptionKeyUrlFinal
|
|
878
|
+
};
|
|
879
|
+
_context13.prev = 6;
|
|
880
|
+
_context13.next = 7;
|
|
881
|
+
return this.webex.request({
|
|
882
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
883
|
+
uri: "".concat(this.contactsServiceUrl, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.GROUP_FILTER),
|
|
884
|
+
method: _types.HTTP_METHODS.POST,
|
|
885
|
+
body: groupInfo
|
|
886
|
+
});
|
|
887
|
+
case 7:
|
|
888
|
+
response = _context13.sent;
|
|
889
|
+
_Logger.default.log("Response code: ".concat(response.statusCode), loggerContext);
|
|
890
|
+
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers2 = response.headers) === null || _response$headers2 === void 0 ? void 0 : _response$headers2.trackingid), loggerContext);
|
|
891
|
+
group = response.body;
|
|
892
|
+
group.displayName = displayName;
|
|
893
|
+
contactResponse = {
|
|
894
|
+
statusCode: Number(response[_constants.STATUS_CODE]),
|
|
895
|
+
data: {
|
|
896
|
+
group: group
|
|
897
|
+
},
|
|
898
|
+
message: _constants.SUCCESS_MESSAGE
|
|
899
|
+
};
|
|
900
|
+
(_this$groups = this.groups) === null || _this$groups === void 0 ? void 0 : _this$groups.push(group);
|
|
901
|
+
_Logger.default.log("Contact group ".concat(displayName, " successfully created"), loggerContext);
|
|
902
|
+
return _context13.abrupt("return", contactResponse);
|
|
903
|
+
case 8:
|
|
904
|
+
_context13.prev = 8;
|
|
905
|
+
_t10 = _context13["catch"](6);
|
|
906
|
+
_Logger.default.error("Unable to create contact group: ".concat((0, _stringify.default)(_t10)), loggerContext);
|
|
907
|
+
errorStatus = (0, _Utils.serviceErrorCodeHandler)(_t10, loggerContext);
|
|
908
|
+
_context13.next = 9;
|
|
909
|
+
return (0, _Utils.uploadLogs)();
|
|
910
|
+
case 9:
|
|
911
|
+
return _context13.abrupt("return", errorStatus);
|
|
912
|
+
case 10:
|
|
913
|
+
case "end":
|
|
914
|
+
return _context13.stop();
|
|
915
|
+
}
|
|
916
|
+
}, _callee13, this, [[6, 8]]);
|
|
917
|
+
}));
|
|
918
|
+
function createContactGroup(_x12, _x13, _x14) {
|
|
919
|
+
return _createContactGroup.apply(this, arguments);
|
|
920
|
+
}
|
|
921
|
+
return createContactGroup;
|
|
922
|
+
}()
|
|
923
|
+
/**
|
|
924
|
+
* Deletes a contact group.
|
|
925
|
+
* @param groupId - GroupId of the group to delete.
|
|
926
|
+
*/
|
|
927
|
+
)
|
|
928
|
+
}, {
|
|
929
|
+
key: "deleteContactGroup",
|
|
930
|
+
value: (function () {
|
|
931
|
+
var _deleteContactGroup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(groupId) {
|
|
932
|
+
var loggerContext, _response$headers3, _this$groups2, _this$groups4, response, contactResponse, groupToDelete, _this$groups3, errorStatus, _t11;
|
|
933
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
934
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
935
|
+
case 0:
|
|
936
|
+
loggerContext = {
|
|
937
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
938
|
+
method: _constants2.METHODS.DELETE_CONTACT_GROUP
|
|
939
|
+
};
|
|
940
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with groupId: ").concat(groupId), loggerContext);
|
|
941
|
+
_context14.prev = 1;
|
|
942
|
+
_Logger.default.info("Deleting contact group: ".concat(groupId), loggerContext);
|
|
943
|
+
_context14.next = 2;
|
|
944
|
+
return this.webex.request({
|
|
945
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
946
|
+
uri: "".concat(this.contactsServiceUrl, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.GROUP_FILTER, "/").concat(groupId),
|
|
947
|
+
method: _types.HTTP_METHODS.DELETE
|
|
948
|
+
});
|
|
949
|
+
case 2:
|
|
950
|
+
response = _context14.sent;
|
|
951
|
+
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers3 = response.headers) === null || _response$headers3 === void 0 ? void 0 : _response$headers3.trackingid), loggerContext);
|
|
952
|
+
contactResponse = {
|
|
953
|
+
statusCode: Number(response[_constants.STATUS_CODE]),
|
|
954
|
+
data: {},
|
|
955
|
+
message: _constants.SUCCESS_MESSAGE
|
|
956
|
+
};
|
|
957
|
+
groupToDelete = (_this$groups2 = this.groups) === null || _this$groups2 === void 0 ? void 0 : _this$groups2.findIndex(function (group) {
|
|
958
|
+
return group.groupId === groupId;
|
|
959
|
+
});
|
|
960
|
+
if (groupToDelete !== undefined && groupToDelete !== -1) {
|
|
961
|
+
(_this$groups3 = this.groups) === null || _this$groups3 === void 0 ? void 0 : _this$groups3.splice(groupToDelete, 1);
|
|
962
|
+
}
|
|
963
|
+
if (!((_this$groups4 = this.groups) !== null && _this$groups4 !== void 0 && _this$groups4.length)) {
|
|
964
|
+
this.defaultGroupId = '';
|
|
965
|
+
}
|
|
966
|
+
_Logger.default.log("Contact group ".concat(groupId, " successfully deleted"), loggerContext);
|
|
967
|
+
return _context14.abrupt("return", contactResponse);
|
|
968
|
+
case 3:
|
|
969
|
+
_context14.prev = 3;
|
|
970
|
+
_t11 = _context14["catch"](1);
|
|
971
|
+
_Logger.default.error("Unable to delete contact group ".concat(groupId, ": ").concat((0, _stringify.default)(_t11)), loggerContext);
|
|
972
|
+
errorStatus = (0, _Utils.serviceErrorCodeHandler)(_t11, loggerContext);
|
|
973
|
+
_context14.next = 4;
|
|
974
|
+
return (0, _Utils.uploadLogs)();
|
|
975
|
+
case 4:
|
|
976
|
+
return _context14.abrupt("return", errorStatus);
|
|
977
|
+
case 5:
|
|
978
|
+
case "end":
|
|
979
|
+
return _context14.stop();
|
|
980
|
+
}
|
|
981
|
+
}, _callee14, this, [[1, 3]]);
|
|
982
|
+
}));
|
|
983
|
+
function deleteContactGroup(_x15) {
|
|
984
|
+
return _deleteContactGroup.apply(this, arguments);
|
|
985
|
+
}
|
|
986
|
+
return deleteContactGroup;
|
|
987
|
+
}()
|
|
988
|
+
/**
|
|
989
|
+
* Creates a custom contact.
|
|
990
|
+
* @param contactInfo - Contact object to create.
|
|
991
|
+
*/
|
|
992
|
+
)
|
|
993
|
+
}, {
|
|
994
|
+
key: "createContact",
|
|
995
|
+
value: (function () {
|
|
996
|
+
var _createContact = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(contactInfo) {
|
|
997
|
+
var loggerContext, _response$headers4, contact, defaultGroupId, requestBody, encryptedContact, _encryptedContact, response, newContact, contactResponse, query, res, resolvedContact, _this$contacts, _this$contacts2, errorStatus, _t12, _t13;
|
|
998
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
999
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
1000
|
+
case 0:
|
|
1001
|
+
loggerContext = {
|
|
1002
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
1003
|
+
method: _constants2.METHODS.CREATE_CONTACT
|
|
1004
|
+
};
|
|
1005
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with contactType: ").concat(contactInfo.contactType), loggerContext);
|
|
1006
|
+
_context15.prev = 1;
|
|
1007
|
+
contact = _objectSpread({}, contactInfo);
|
|
1008
|
+
if (contact.encryptionKeyUrl) {
|
|
1009
|
+
_context15.next = 3;
|
|
1010
|
+
break;
|
|
1011
|
+
}
|
|
1012
|
+
_context15.next = 2;
|
|
1013
|
+
return this.fetchEncryptionKeyUrl();
|
|
1014
|
+
case 2:
|
|
1015
|
+
contact.encryptionKeyUrl = _context15.sent;
|
|
1016
|
+
case 3:
|
|
1017
|
+
if (!(!contact.groups || contact.groups.length === 0)) {
|
|
1018
|
+
_context15.next = 5;
|
|
1019
|
+
break;
|
|
1020
|
+
}
|
|
1021
|
+
_context15.next = 4;
|
|
1022
|
+
return this.fetchDefaultGroup();
|
|
1023
|
+
case 4:
|
|
1024
|
+
defaultGroupId = _context15.sent;
|
|
1025
|
+
contact.groups = [defaultGroupId];
|
|
1026
|
+
case 5:
|
|
1027
|
+
contact.schemas = _constants2.CONTACTS_SCHEMA;
|
|
1028
|
+
requestBody = {};
|
|
1029
|
+
_t12 = contact.contactType;
|
|
1030
|
+
_context15.next = _t12 === _types2.ContactType.CUSTOM ? 6 : _t12 === _types2.ContactType.CLOUD ? 8 : 11;
|
|
1031
|
+
break;
|
|
1032
|
+
case 6:
|
|
1033
|
+
_context15.next = 7;
|
|
1034
|
+
return this.encryptContact(contact);
|
|
1035
|
+
case 7:
|
|
1036
|
+
encryptedContact = _context15.sent;
|
|
1037
|
+
requestBody = encryptedContact;
|
|
1038
|
+
return _context15.abrupt("continue", 12);
|
|
1039
|
+
case 8:
|
|
1040
|
+
if (contact.contactId) {
|
|
1041
|
+
_context15.next = 9;
|
|
1042
|
+
break;
|
|
1043
|
+
}
|
|
1044
|
+
return _context15.abrupt("return", {
|
|
1045
|
+
statusCode: 400,
|
|
1046
|
+
data: {
|
|
1047
|
+
error: 'contactId is required for contactType:CLOUD.'
|
|
1048
|
+
},
|
|
1049
|
+
message: _constants.FAILURE_MESSAGE
|
|
1050
|
+
});
|
|
1051
|
+
case 9:
|
|
1052
|
+
_context15.next = 10;
|
|
1053
|
+
return this.encryptContact(contact);
|
|
1054
|
+
case 10:
|
|
1055
|
+
_encryptedContact = _context15.sent;
|
|
1056
|
+
requestBody = _encryptedContact;
|
|
1057
|
+
return _context15.abrupt("continue", 12);
|
|
1058
|
+
case 11:
|
|
1059
|
+
return _context15.abrupt("return", {
|
|
1060
|
+
statusCode: 400,
|
|
1061
|
+
data: {
|
|
1062
|
+
error: 'Unknown contactType received.'
|
|
1063
|
+
},
|
|
1064
|
+
message: _constants.FAILURE_MESSAGE
|
|
1065
|
+
});
|
|
1066
|
+
case 12:
|
|
1067
|
+
_context15.next = 13;
|
|
1068
|
+
return this.webex.request({
|
|
1069
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
1070
|
+
uri: "".concat(this.contactsServiceUrl, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.CONTACT_FILTER),
|
|
1071
|
+
method: _types.HTTP_METHODS.POST,
|
|
1072
|
+
body: requestBody
|
|
1073
|
+
});
|
|
1074
|
+
case 13:
|
|
1075
|
+
response = _context15.sent;
|
|
1076
|
+
_Logger.default.log("Response code: ".concat(response.statusCode), loggerContext);
|
|
1077
|
+
_Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers4 = response.headers) === null || _response$headers4 === void 0 ? void 0 : _response$headers4.trackingid), loggerContext);
|
|
1078
|
+
newContact = response.body;
|
|
1079
|
+
contact.contactId = newContact.contactId;
|
|
1080
|
+
contactResponse = {
|
|
1081
|
+
statusCode: Number(response[_constants.STATUS_CODE]),
|
|
1082
|
+
data: {
|
|
1083
|
+
contact: contact
|
|
1084
|
+
},
|
|
1085
|
+
message: _constants.SUCCESS_MESSAGE
|
|
1086
|
+
};
|
|
1087
|
+
if (!(contact.contactType === _types2.ContactType.CLOUD && newContact.contactId)) {
|
|
1088
|
+
_context15.next = 15;
|
|
1089
|
+
break;
|
|
1090
|
+
}
|
|
1091
|
+
query = "".concat(_constants2.SCIM_ID_FILTER, " \"").concat(newContact.contactId, "\"");
|
|
1092
|
+
_context15.next = 14;
|
|
1093
|
+
return (0, _Utils.scimQuery)(query);
|
|
1094
|
+
case 14:
|
|
1095
|
+
res = _context15.sent;
|
|
1096
|
+
resolvedContact = this.resolveCloudContacts(Object.fromEntries([[newContact.contactId, newContact]]), res.body);
|
|
1097
|
+
if (resolvedContact) {
|
|
1098
|
+
(_this$contacts = this.contacts) === null || _this$contacts === void 0 ? void 0 : _this$contacts.push(resolvedContact[0]);
|
|
1099
|
+
}
|
|
1100
|
+
_context15.next = 16;
|
|
1101
|
+
break;
|
|
1102
|
+
case 15:
|
|
1103
|
+
(_this$contacts2 = this.contacts) === null || _this$contacts2 === void 0 ? void 0 : _this$contacts2.push(contact);
|
|
1104
|
+
case 16:
|
|
1105
|
+
_Logger.default.log("Contact successfully created", loggerContext);
|
|
1106
|
+
return _context15.abrupt("return", contactResponse);
|
|
1107
|
+
case 17:
|
|
1108
|
+
_context15.prev = 17;
|
|
1109
|
+
_t13 = _context15["catch"](1);
|
|
1110
|
+
_Logger.default.error("Failed to create contact: ".concat((0, _stringify.default)(_t13)), loggerContext);
|
|
1111
|
+
errorStatus = (0, _Utils.serviceErrorCodeHandler)(_t13, loggerContext);
|
|
1112
|
+
_context15.next = 18;
|
|
1113
|
+
return (0, _Utils.uploadLogs)();
|
|
1114
|
+
case 18:
|
|
1115
|
+
return _context15.abrupt("return", errorStatus);
|
|
1116
|
+
case 19:
|
|
1117
|
+
case "end":
|
|
1118
|
+
return _context15.stop();
|
|
1119
|
+
}
|
|
1120
|
+
}, _callee15, this, [[1, 17]]);
|
|
1121
|
+
}));
|
|
1122
|
+
function createContact(_x16) {
|
|
1123
|
+
return _createContact.apply(this, arguments);
|
|
1124
|
+
}
|
|
1125
|
+
return createContact;
|
|
1126
|
+
}()
|
|
1127
|
+
/**
|
|
1128
|
+
* Delete a contact.
|
|
1129
|
+
* @param contactId - ContactId of the contact to delete.
|
|
1130
|
+
*/
|
|
1131
|
+
)
|
|
1132
|
+
}, {
|
|
1133
|
+
key: "deleteContact",
|
|
1134
|
+
value: (function () {
|
|
1135
|
+
var _deleteContact = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(contactId) {
|
|
1136
|
+
var loggerContext, _this$contacts3, response, contactResponse, contactToDelete, _this$contacts4, errorStatus, _t14;
|
|
1137
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
1138
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
1139
|
+
case 0:
|
|
1140
|
+
loggerContext = {
|
|
1141
|
+
file: _constants2.CONTACTS_CLIENT,
|
|
1142
|
+
method: _constants2.METHODS.DELETE_CONTACT
|
|
1143
|
+
};
|
|
1144
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with contactId: ").concat(contactId), loggerContext);
|
|
1145
|
+
_context16.prev = 1;
|
|
1146
|
+
_Logger.default.info("Deleting contact : ".concat(contactId), loggerContext);
|
|
1147
|
+
_context16.next = 2;
|
|
1148
|
+
return this.webex.request({
|
|
1149
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
1150
|
+
uri: "".concat(this.contactsServiceUrl, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.CONTACT_FILTER, "/").concat(contactId),
|
|
1151
|
+
method: _types.HTTP_METHODS.DELETE
|
|
1152
|
+
});
|
|
1153
|
+
case 2:
|
|
1154
|
+
response = _context16.sent;
|
|
1155
|
+
contactResponse = {
|
|
1156
|
+
statusCode: Number(response[_constants.STATUS_CODE]),
|
|
1157
|
+
data: {},
|
|
1158
|
+
message: _constants.SUCCESS_MESSAGE
|
|
1159
|
+
};
|
|
1160
|
+
contactToDelete = (_this$contacts3 = this.contacts) === null || _this$contacts3 === void 0 ? void 0 : _this$contacts3.findIndex(function (contact) {
|
|
1161
|
+
return contact.contactId === contactId;
|
|
1162
|
+
});
|
|
1163
|
+
if (contactToDelete !== undefined && contactToDelete !== -1) {
|
|
1164
|
+
(_this$contacts4 = this.contacts) === null || _this$contacts4 === void 0 ? void 0 : _this$contacts4.splice(contactToDelete, 1);
|
|
1165
|
+
}
|
|
1166
|
+
_Logger.default.log("Contact ".concat(contactId, " successfully deleted"), loggerContext);
|
|
1167
|
+
return _context16.abrupt("return", contactResponse);
|
|
1168
|
+
case 3:
|
|
1169
|
+
_context16.prev = 3;
|
|
1170
|
+
_t14 = _context16["catch"](1);
|
|
1171
|
+
_Logger.default.error("Unable to delete contact ".concat(contactId, ": ").concat((0, _stringify.default)(_t14)), loggerContext);
|
|
1172
|
+
errorStatus = (0, _Utils.serviceErrorCodeHandler)(_t14, loggerContext);
|
|
1173
|
+
_context16.next = 4;
|
|
1174
|
+
return (0, _Utils.uploadLogs)();
|
|
1175
|
+
case 4:
|
|
1176
|
+
return _context16.abrupt("return", errorStatus);
|
|
1177
|
+
case 5:
|
|
1178
|
+
case "end":
|
|
1179
|
+
return _context16.stop();
|
|
1180
|
+
}
|
|
1181
|
+
}, _callee16, this, [[1, 3]]);
|
|
1182
|
+
}));
|
|
1183
|
+
function deleteContact(_x17) {
|
|
1184
|
+
return _deleteContact.apply(this, arguments);
|
|
1185
|
+
}
|
|
1186
|
+
return deleteContact;
|
|
1187
|
+
}()
|
|
1188
|
+
/**
|
|
1189
|
+
* @ignore
|
|
1190
|
+
*/
|
|
1191
|
+
)
|
|
1192
|
+
}, {
|
|
1193
|
+
key: "getSDKConnector",
|
|
1194
|
+
value: function getSDKConnector() {
|
|
1195
|
+
return this.sdkConnector;
|
|
1196
|
+
}
|
|
1197
|
+
}]);
|
|
1198
|
+
}();
|
|
1199
|
+
/**
|
|
1200
|
+
* Creates a ContactsClient instance
|
|
1201
|
+
*
|
|
1202
|
+
* @param {WebexSDK} webex - `Webex SDK`instance.
|
|
1203
|
+
* @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.
|
|
1204
|
+
*/
|
|
1205
|
+
var createContactsClient = exports.createContactsClient = function createContactsClient(webex, logger) {
|
|
1206
|
+
return new ContactsClient(webex, logger);
|
|
1207
|
+
};
|
|
1208
|
+
//# sourceMappingURL=ContactsClient.js.map
|