@webex/plugin-meetings 3.3.1 → 3.4.0-next.10
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +7 -2
- package/dist/breakouts/index.js.map +1 -1
- package/dist/constants.js +11 -4
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/selfUtils.js +0 -5
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +70 -15
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/index.js +18 -9
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/connectionStateHandler.js +67 -0
- package/dist/meeting/connectionStateHandler.js.map +1 -0
- package/dist/meeting/index.js +576 -374
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +7 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +6 -1
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +4 -4
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +2 -2
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +17 -17
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +16 -16
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +1 -1
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +41 -35
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +8 -0
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/util.js +3 -2
- package/dist/meetings/util.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +57 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +1 -1
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/reachability/clusterReachability.js +108 -53
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +546 -115
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +1 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/rtcMetrics/index.js +26 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/types/constants.d.ts +11 -3
- package/dist/types/media/MediaConnectionAwaiter.d.ts +24 -4
- package/dist/types/meeting/connectionStateHandler.d.ts +30 -0
- package/dist/types/meeting/index.d.ts +28 -8
- package/dist/types/meeting/locusMediaRequest.d.ts +2 -0
- package/dist/types/meeting-info/index.d.ts +3 -2
- package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -2
- package/dist/types/meeting-info/util.d.ts +5 -4
- package/dist/types/meeting-info/utilv2.d.ts +3 -2
- package/dist/types/meetings/collection.d.ts +3 -2
- package/dist/types/meetings/index.d.ts +6 -4
- package/dist/types/meetings/meetings.types.d.ts +9 -0
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/metrics/index.d.ts +15 -0
- package/dist/types/reachability/clusterReachability.d.ts +31 -3
- package/dist/types/reachability/index.d.ts +107 -4
- package/dist/types/rtcMetrics/index.d.ts +11 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +23 -23
- package/src/breakouts/index.ts +7 -1
- package/src/constants.ts +13 -17
- package/src/locus-info/selfUtils.ts +0 -5
- package/src/media/MediaConnectionAwaiter.ts +89 -14
- package/src/media/index.ts +18 -9
- package/src/meeting/connectionStateHandler.ts +65 -0
- package/src/meeting/index.ts +541 -298
- package/src/meeting/locusMediaRequest.ts +5 -0
- package/src/meeting/muteState.ts +6 -1
- package/src/meeting/util.ts +1 -0
- package/src/meeting-info/index.ts +9 -6
- package/src/meeting-info/meeting-info-v2.ts +4 -4
- package/src/meeting-info/util.ts +23 -28
- package/src/meeting-info/utilv2.ts +18 -24
- package/src/meetings/collection.ts +3 -3
- package/src/meetings/index.ts +43 -43
- package/src/meetings/meetings.types.ts +11 -0
- package/src/meetings/util.ts +5 -4
- package/src/metrics/constants.ts +1 -0
- package/src/metrics/index.ts +44 -0
- package/src/personal-meeting-room/index.ts +2 -2
- package/src/reachability/clusterReachability.ts +86 -25
- package/src/reachability/index.ts +364 -30
- package/src/reconnection-manager/index.ts +1 -1
- package/src/rtcMetrics/index.ts +25 -5
- package/test/unit/spec/breakouts/index.ts +51 -32
- package/test/unit/spec/locus-info/selfUtils.js +25 -23
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +131 -32
- package/test/unit/spec/media/index.ts +75 -34
- package/test/unit/spec/meeting/connectionStateHandler.ts +102 -0
- package/test/unit/spec/meeting/index.js +807 -185
- package/test/unit/spec/meeting/locusMediaRequest.ts +7 -0
- package/test/unit/spec/meeting/muteState.js +24 -0
- package/test/unit/spec/meeting-info/index.js +4 -4
- package/test/unit/spec/meeting-info/meetinginfov2.js +24 -28
- package/test/unit/spec/meeting-info/request.js +2 -2
- package/test/unit/spec/meeting-info/utilv2.js +41 -49
- package/test/unit/spec/meetings/index.js +44 -3
- package/test/unit/spec/metrics/index.js +126 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +2 -2
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -2
- package/test/unit/spec/reachability/clusterReachability.ts +116 -22
- package/test/unit/spec/reachability/index.ts +1398 -131
- package/test/unit/spec/rtcMetrics/index.ts +32 -0
- package/dist/mediaQualityMetrics/config.js +0 -321
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/networkQualityMonitor/index.js +0 -227
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/statsAnalyzer/global.js +0 -44
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.js +0 -1072
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.js +0 -368
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -247
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/src/mediaQualityMetrics/config.ts +0 -255
- package/src/networkQualityMonitor/index.ts +0 -211
- package/src/statsAnalyzer/global.ts +0 -37
- package/src/statsAnalyzer/index.ts +0 -1318
- package/src/statsAnalyzer/mqaUtil.ts +0 -463
- package/test/unit/spec/networkQualityMonitor/index.js +0 -99
- package/test/unit/spec/stats-analyzer/index.js +0 -1819
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","_PERSONAL_ROOM_","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","_MEETING_ID_","meetingKey","conversationUrl","_LOCUS_ID_","info","webExMeetingId","meetingUrl","_MEETING_UUID_","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n _MEETING_UUID_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === _PERSONAL_ROOM_) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = _MEETING_LINK_;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = _SIP_URI_;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: string; destination: object} | any) {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} =\n options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case _SIP_URI_:\n body.sipUrl = destination;\n break;\n case _PERSONAL_ROOM_:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case _MEETING_ID_:\n body.meetingKey = destination;\n break;\n case _CONVERSATION_URL_:\n body.conversationUrl = destination;\n break;\n case _LOCUS_ID_:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case _MEETING_LINK_:\n body.meetingUrl = destination;\n break;\n case _MEETING_UUID_: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case _SIP_URI_:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case _LOCUS_ID_:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAuBA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAqE,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IA5BrE;AA8BA;AACA;AACA;AAFA,IAGqBqB,eAAe,GAAAC,OAAA,CAAAL,OAAA;EAAA,SAAAI,gBAAA;IAAA,IAAAE,gBAAA,CAAAN,OAAA,QAAAI,eAAA;EAAA;EAAA,IAAAG,aAAA,CAAAP,OAAA,EAAAI,eAAA;IAAAI,GAAA;IAAAC,KAAA,EAIlC,SAAAC,aAAoBC,IAAI,EAAE;MACxB,IAAI;QACF,IAAIC,SAAS,GAAGC,YAAG,CAACC,KAAK,CAACH,IAAI,CAAC;QAE/B,IAAI,CAACC,SAAS,EAAE;UACd,OAAO,KAAK;QACd;QACA;QACA,IAAI,CAACA,SAAS,CAACG,QAAQ,EAAE;UACvBH,SAAS,GAAGC,YAAG,CAACC,KAAK,IAAAE,MAAA,CAAIC,yBAAc,EAAAD,MAAA,CAAGL,IAAI,CAAE,CAAC;QACnD;QAEA,OAAOC,SAAS;MAClB,CAAC,CAAC,OAAOM,KAAK,EAAE;QACdC,oBAAW,CAACC,MAAM,CAACC,IAAI,uEAAAL,MAAA,CACiDE,KAAK,CAC7E,CAAC;QAED,OAAO,IAAI;MACb;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAV,GAAA;IAAAC,KAAA,EAKA,SAAAa,cAAqBb,KAAa,EAAE;MAClC,IAAIc,YAAY;MAChB,IAAIC,YAAY;MAChB,IAAMZ,SAAS,GAAG,IAAI,CAACF,YAAY,CAACD,KAAK,CAAC;MAC1C,IAAIG,SAAS,EAAE;QACbW,YAAY,GAAGX,SAAS,CAACa,QAAQ,IAAIb,SAAS,CAACa,QAAQ,CAACC,QAAQ,CAACC,wBAAa,CAAC;QAC/EH,YAAY,GACVZ,SAAS,CAACgB,QAAQ,KACjBhB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKa,eAAI,CAAE,CAAC,IACtCjB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKc,iBAAM,CAAE,CAAC,IACzClB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKe,qBAAU,CAAE,CAAC,IAC7CnB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKgB,kBAAO,CAAE,CAAC,IAC1CpB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKiB,eAAI,CAAE,CAAC,CAAC;MAC9C;MAEA,OAAOV,YAAY,IAAIC,YAAY;IACrC;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAyB,kBAAyBzB,KAAK,EAAE0B,KAAK,EAAE;MACrC,IAAMC,SAAS,GAAGD,KAAK,CAACE,QAAQ,CAACC,QAAQ,CAACC,YAAY,CAAC9B,KAAK,CAAC;MAE7D,IAAI2B,SAAS,EAAE;QACb,OAAOA,SAAS,CAACI,QAAQ,CAACC,+BAAoB,CAAC;MACjD;MAEA,OAAO,KAAK;IACd;EAAC;IAAAjC,GAAA;IAAAC,KAAA,EAED,SAAAiC,SAAgBC,SAAS,EAAE;MACzB;MACA;MACA,IAAMC,MAAM,GAAGC,uBAAY,CAACC,WAAW,CAACC,IAAI,CAACJ,SAAS,CAAC;MAEvD,OAAOC,MAAM;IACf;EAAC;IAAApC,GAAA;IAAAC,KAAA,EAED,SAAAuC,cAAqBC,WAAW,EAAE;MAChC,IAAMC,aAAa,GAAGL,uBAAY,CAACM,YAAY,CAACC,IAAI,CAACH,WAAW,CAAC;MAEjE,OAAOC,aAAa;IACtB;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAED,SAAA4C,WAAkBC,WAAW,EAAE;MAC7B,IAAAC,mBAAA,GAA4B,IAAAC,0BAAkB,EAACF,WAAW,CAAC;QAApDG,IAAI,GAAAF,mBAAA,CAAJE,IAAI;QAAEC,EAAE,GAAAH,mBAAA,CAAFG,EAAE;QAAEC,OAAO,GAAAJ,mBAAA,CAAPI,OAAO;MAExB,IAAID,EAAE,IAAIE,mBAAQ,CAACR,IAAI,CAACM,EAAE,CAAC,EAAE;QAC3B,IAAID,IAAI,KAAKI,iBAAM,EAAE;UACnB,OAAO;YAACC,IAAI,EAAE,IAAI;YAAER,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QAC/C;QACA,IAAIF,IAAI,KAAKM,mBAAQ,EAAE;UACrB,OAAO;YAACC,MAAM,EAAE,IAAI;YAAEV,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QACjD;QAEA,OAAO,CAAC,CAAC;MACX;MAEA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAnD,GAAA;IAAAC,KAAA,EAED,SAAAwD,2BAAkCX,WAAW,EAAEnB,KAAK,EAAE;MACpD,OAAOA,KAAK,CAAC6B,MAAM,CAChBE,GAAG,CAACZ,WAAW,CAAC,CAChBa,IAAI,CAAC,UAACC,GAAG,EAAK;QACb,IAAIA,GAAG,CAACC,MAAM,IAAID,GAAG,CAACC,MAAM,CAACzE,MAAM,EAAE;UACnC,OAAOwE,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;QACtB;QACA,MAAM,IAAIC,kBAAc,CAAC,iDAAiD,CAAC;MAC7E,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,GAAG,EAAK;QACdrD,oBAAW,CAACC,MAAM,CAACF,KAAK,gGAAAF,MAAA,CACyEwD,GAAG,MACpG,CAAC;QACD,MAAMA,GAAG;MACX,CAAC,CAAC;IACN;EAAC;IAAAhE,GAAA;IAAAC,KAAA;MAAA,IAAAgE,mBAAA,OAAAC,kBAAA,CAAA1E,OAAA,gBAAA2E,YAAA,CAAA3E,OAAA,CAAA4E,IAAA,CAED,SAAAC,QAAgCC,IAAI;QAAA,IAAArB,IAAA,EAAAtB,KAAA,EAAAmB,WAAA,EAAAyB,QAAA,EAAAX,GAAA,EAAAY,WAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA;QAAA,OAAAT,YAAA,CAAA3E,OAAA,CAAAqF,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC3BhC,IAAI,GAAWqB,IAAI,CAAnBrB,IAAI,EAAEtB,KAAK,GAAI2C,IAAI,CAAb3C,KAAK;cACbmB,WAAW,GAAIwB,IAAI,CAAnBxB,WAAW;cAAA,MAEZG,IAAI,KAAKiC,0BAAe;gBAAAH,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,IAErBnC,WAAW;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd;cACAnC,WAAW,GAAG;gBACZ4B,MAAM,EAAE/C,KAAK,CAACE,QAAQ,CAACsD,MAAM,CAACT,MAAM;gBACpCD,KAAK,EAAE9C,KAAK,CAACE,QAAQ,CAACsD,MAAM,CAACV;cAC/B,CAAC;cAACM,QAAA,CAAAE,IAAA;cAAA;YAAA;cAEIN,QAAO,GAAGS,8BAAmB,CAACxC,IAAI,CAACE,WAAW,CAAC,GACjD;gBAACuC,KAAK,EAAEvC;cAAW,CAAC,GACpB;gBAACI,EAAE,EAAEJ;cAAW,CAAC,EAAE;cAAAiC,QAAA,CAAAE,IAAA;cAAA,OACLtD,KAAK,CAAC6B,MAAM,CAAC8B,IAAI,CAACX,QAAO,CAAC;YAAA;cAAtCf,GAAG,GAAAmB,QAAA,CAAAQ,IAAA;cAAAf,WAAA,GAEiBZ,GAAG,CAAC4B,KAAK,CAAC,CAAC,CAAC,EAAjCf,KAAK,GAAAD,WAAA,CAALC,KAAK,EAAMC,MAAM,GAAAF,WAAA,CAAVtB,EAAE;cAEdwB,MAAM,GAAG,IAAA1B,0BAAkB,EAAC0B,MAAM,CAAC,CAACxB,EAAE;cACtCuB,KAAK,GAAG,IAAAzB,0BAAkB,EAACyB,KAAK,CAAC,CAACvB,EAAE;cACpCJ,WAAW,GAAG;gBAAC4B,MAAM,EAANA,MAAM;gBAAED,KAAK,EAALA;cAAK,CAAC;YAAC;cAAA,KAG9BxB,IAAI;gBAAA8B,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAU,MAAA,WACC;gBACL3C,WAAW,EAAXA,WAAW;gBACXG,IAAI,EAAJA;cACF,CAAC;YAAA;cAEG0B,OAAY,GAAG,CAAC,CAAC;cAGvB,IAAIhD,KAAK,IAAIA,KAAK,CAAC+D,MAAM,IAAI/D,KAAK,CAAC+D,MAAM,CAACC,QAAQ,IAAIhE,KAAK,CAAC+D,MAAM,CAACC,QAAQ,CAACC,cAAc,EAAE;gBAC1FhB,OAAO,GAAG,IAAI;cAChB,CAAC,MAAM;gBACLA,OAAO,GAAG,IAAI,CAAC/B,UAAU,CAACC,WAAW,CAAC;cACxC;cAAC,KAEG,IAAI,CAAChC,aAAa,CAACgC,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACjCtE,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,6GACF,CAAC;cAED8D,OAAO,CAAC1B,IAAI,GAAG4C,yBAAc;cAC7BlB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAAC/C,QAAQ,CAACY,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnCN,OAAO,CAAC1B,IAAI,GAAG6C,oBAAS;cACxBnB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACzC,aAAa,CAACM,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACxCN,OAAO,CAAC1B,IAAI,GAAG6C,oBAAS;cACxBnB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACvD,iBAAiB,CAACoB,WAAW,EAAEnB,KAAK,CAAC;gBAAAoD,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnDN,OAAO,CAAC1B,IAAI,GAAG8C,6BAAkB;cACjCpB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,MACzBL,OAAO,IAAIA,OAAO,CAACpB,MAAM;gBAAAuB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAClCN,OAAO,CAAC1B,IAAI,GAAG6C,oBAAS;cAAC,OAAAf,QAAA,CAAAU,MAAA,WAElB,IAAI,CAAChC,0BAA0B,CAACmB,OAAO,IAAIA,OAAO,CAAC9B,WAAW,EAAEnB,KAAK,CAAC,CAACgC,IAAI,CAAC,UAACC,GAAG,EAAK;gBAC1Fe,OAAO,CAAC7B,WAAW,GAAGc,GAAG;;gBAEzB;gBACA;gBACA;gBACAe,OAAO,CAACqB,cAAc,GAAG,IAAI;gBAE7B,OAAOC,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAACvB,OAAO,CAAC;cACjC,CAAC,CAAC;YAAA;cAAA,KACOC,OAAO,CAACtB,IAAI;gBAAAyB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACrBtE,oBAAW,CAACC,MAAM,CAACF,KAAK,8QAExB,CAAC;cACD;cAAA,MACM,IAAIyF,mCAAsB,CAAC,CAAC;YAAA;cAElCxF,oBAAW,CAACC,MAAM,CAACC,IAAI,6CAAAL,MAAA,CAA6C,IAAI,CAAC4F,gBAAgB,CAAE,CAAC;cAAC,MACvF,IAAItC,kBAAc,IAAAtD,MAAA,CAAI,IAAI,CAAC4F,gBAAgB,CAAE,CAAC;YAAA;cAAA,OAAArB,QAAA,CAAAU,MAAA,WAG/CQ,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAACvB,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAI,QAAA,CAAAsB,IAAA;UAAA;QAAA,GAAAhC,OAAA;MAAA,CAChC;MAAA,SAAAiC,mBAAAC,EAAA;QAAA,OAAAtC,mBAAA,CAAAhF,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAmH,kBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAtG,GAAA;IAAAC,KAAA,EAQA,SAAAuG,eAAsB7B,OAAkD,EAAE;MAAA,IAAA8B,iBAAA,EAAAC,kBAAA;MACxE,IAAOzD,IAAI,GACT0B,OAAO,CADF1B,IAAI;QAAEH,WAAW,GACtB6B,OAAO,CADI7B,WAAW;QAAE6D,QAAQ,GAChChC,OAAO,CADiBgC,QAAQ;QAAEC,WAAW,GAC7CjC,OAAO,CAD2BiC,WAAW;QAAEC,cAAc,GAC7DlC,OAAO,CADwCkC,cAAc;QAAEC,OAAO,GACtEnC,OAAO,CADwDmC,OAAO;QAAEC,WAAW,GACnFpC,OAAO,CADiEoC,WAAW;MAErF,IAAMC,IAAS,GAAA9H,aAAA,CAAAA,aAAA,KACV+H,4CAAiC,GACjCF,WAAW,CACf;MAED,QAAQ9D,IAAI;QACV,KAAK6C,oBAAS;UACZkB,IAAI,CAACE,MAAM,GAAGpE,WAAW;UACzB;QACF,KAAKoC,0BAAe;UAClB8B,IAAI,CAACtC,MAAM,GAAG5B,WAAW,CAAC4B,MAAM;UAChCsC,IAAI,CAACvC,KAAK,GAAG3B,WAAW,CAAC2B,KAAK;UAC9B;QACF,KAAK0C,uBAAY;UACfH,IAAI,CAACI,UAAU,GAAGtE,WAAW;UAC7B;QACF,KAAKiD,6BAAkB;UACrBiB,IAAI,CAACK,eAAe,GAAGvE,WAAW;UAClC;QACF,KAAKwE,qBAAU;UACb;UACA,KAAAb,iBAAA,GAAI3D,WAAW,CAACyE,IAAI,cAAAd,iBAAA,eAAhBA,iBAAA,CAAkBe,cAAc,EAAE;YACpCR,IAAI,CAACI,UAAU,GAAGtE,WAAW,CAACyE,IAAI,CAACC,cAAc;UACnD,CAAC,MAAM,KAAAd,kBAAA,GAAI5D,WAAW,CAACyE,IAAI,cAAAb,kBAAA,eAAhBA,kBAAA,CAAkBtE,MAAM,EAAE;YACnC4E,IAAI,CAACE,MAAM,GAAGpE,WAAW,CAACyE,IAAI,CAACnF,MAAM;UACvC;UACA;QACF,KAAKyD,yBAAc;UACjBmB,IAAI,CAACS,UAAU,GAAG3E,WAAW;UAC7B;QACF,KAAK4E,yBAAc;UAAE;YACnBV,IAAI,CAACW,WAAW,GAAG7E,WAAW;YAC9B;UACF;QACA;MACF;MAEA,IAAI6D,QAAQ,EAAE;QACZK,IAAI,CAACL,QAAQ,GAAGA,QAAQ;MAC1B;MAEA,IAAIC,WAAW,EAAE;QACfI,IAAI,CAACY,SAAS,GAAGhB,WAAW,CAAC1D,EAAE;QAC/B8D,IAAI,CAACa,iBAAiB,GAAGjB,WAAW,CAACkB,IAAI;MAC3C;MAEA,IAAIjB,cAAc,EAAE;QAClBG,IAAI,CAACH,cAAc,GAAGA,cAAc;MACtC;MAEA,IAAIC,OAAO,EAAE;QACXE,IAAI,CAACF,OAAO,GAAGA,OAAO;MACxB;MAEA,OAAOE,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAhH,GAAA;IAAAC,KAAA,EAKA,SAAA8H,aAAoBC,GAAW,EAAE;MAAA,IAAAC,UAAA;MAC/B,IAAMC,eAAe,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;MAChF,IAAMC,IAAI,GAAGH,GAAG,aAAHA,GAAG,wBAAAC,UAAA,GAAHD,GAAG,CAAEI,KAAK,CAAC,2BAA2B,CAAC,cAAAH,UAAA,uBAAvCA,UAAA,CAA0C,CAAC,CAAC;MACzD,IAAMI,gBAAgB,GAAG,CAAC,CAACF,IAAI,IAAID,eAAe,CAACI,IAAI,CAAC,UAACC,MAAM;QAAA,OAAKJ,IAAI,CAACjH,QAAQ,CAACqH,MAAM,CAAC;MAAA,EAAC;MAE1F,OAAOF,gBAAgB,GAAG,IAAI,GAAGF,IAAI;IACvC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAnI,GAAA;IAAAC,KAAA,EAOA,SAAAuI,wBAA+B7D,OAAyC,EAAE;MAAA,IAAA8D,kBAAA;MACxE,IAAOxF,IAAI,GAAiB0B,OAAO,CAA5B1B,IAAI;QAAEH,WAAW,GAAI6B,OAAO,CAAtB7B,WAAW;MAExB,IAAI4F,kBAAkB,GAAG,IAAI;MAE7B,QAAQzF,IAAI;QACV,KAAK6C,oBAAS;UACZ4C,kBAAkB,GAAG,IAAI,CAACX,YAAY,CAACjF,WAAW,CAAC;UACnD;QACF,KAAKwE,qBAAU;UACboB,kBAAkB,IAAAD,kBAAA,GAAG3F,WAAW,CAACyE,IAAI,cAAAkB,kBAAA,uBAAhBA,kBAAA,CAAkBE,SAAS;UAChD;QACF;MACF;MAEA,OAAOD,kBAAkB,cAAAlI,MAAA,CAAckI,kBAAkB,iCAA8B,IAAI;IAC7F;EAAC;EAAA,OAAA9I,eAAA;AAAA;AAAA,IAAAL,gBAAA,CAAAC,OAAA,EAtSkBI,eAAe,sBAEhC,8GAA8G"}
|
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} =\n options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ var MeetingCollection = exports.default = /*#__PURE__*/function (_Collection) {
|
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* get a specific meeting searching for key
|
|
47
|
-
* @param {
|
|
47
|
+
* @param {MEETING_KEY} key
|
|
48
48
|
* @param {Any} value
|
|
49
49
|
* @returns {Meeting} if found, else returns null
|
|
50
50
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_collection","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","MeetingCollection","exports","_Collection","_inherits2","_super","_classCallCheck2","_createClass2","key","value","set","meeting","meetings","id","getByKey","find","getActiveBreakoutLocus","breakoutUrl","_meeting$breakouts","_meeting$breakouts2","breakouts","url","isActiveBreakout","getActiveWebrtcMeeting","mediaProperties","webrtcMediaConnection","Collection"],"sources":["collection.ts"],"sourcesContent":["import {find} from 'lodash';\n\nimport Collection from '../common/collection';\n
|
|
1
|
+
{"version":3,"names":["_lodash","require","_collection","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","MeetingCollection","exports","_Collection","_inherits2","_super","_classCallCheck2","_createClass2","key","value","set","meeting","meetings","id","getByKey","find","getActiveBreakoutLocus","breakoutUrl","_meeting$breakouts","_meeting$breakouts2","breakouts","url","isActiveBreakout","getActiveWebrtcMeeting","mediaProperties","webrtcMediaConnection","Collection"],"sources":["collection.ts"],"sourcesContent":["import {find} from 'lodash';\n\nimport Collection from '../common/collection';\nimport {MEETING_KEY} from './meetings.types';\n/**\n * @export\n * @class MeetingCollection\n */\nexport default class MeetingCollection extends Collection {\n /**\n * @constructor\n * @public\n * @memberof MeetingCollection\n */\n constructor() {\n super('meetings');\n }\n\n set(meeting) {\n // @ts-ignore\n this.meetings[meeting.id] = meeting;\n\n // @ts-ignore\n return this.meetings[meeting.id];\n }\n\n /**\n * get a specific meeting searching for key\n * @param {MEETING_KEY} key\n * @param {Any} value\n * @returns {Meeting} if found, else returns null\n * @public\n * @memberof MeetingCollection\n */\n public getByKey(key: MEETING_KEY, value: any) {\n if (key && value) {\n // @ts-ignore\n return find(this.meetings, (meeting) => meeting[key] === value);\n }\n\n return null;\n }\n\n /**\n * get a specific meeting searching for key\n * @param {String} breakoutUrl\n * @returns {Meeting} if found, else returns null\n * @public\n * @memberof MeetingCollection\n */\n public getActiveBreakoutLocus(breakoutUrl: string) {\n if (breakoutUrl) {\n // @ts-ignore\n return find(\n // @ts-ignore\n this.meetings,\n (meeting) => meeting.breakouts?.url === breakoutUrl && meeting.breakouts?.isActiveBreakout\n );\n }\n\n return null;\n }\n\n /**\n * Gets the meeting that has a webrtc media connection\n * NOTE: this function assumes there is no more than 1 such meeting\n *\n * @returns {Meeting} first meeting found, else undefined\n * @public\n * @memberof MeetingCollection\n */\n public getActiveWebrtcMeeting() {\n // @ts-ignore\n return find(this.meetings, (meeting) => meeting.mediaProperties.webrtcMediaConnection);\n }\n}\n"],"mappings":"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"}
|
package/dist/meetings/index.js
CHANGED
|
@@ -54,6 +54,7 @@ var _request2 = _interopRequireDefault(require("./request"));
|
|
|
54
54
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
55
55
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
56
56
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
57
|
+
var _meetings = require("./meetings.types");
|
|
57
58
|
var _util2 = _interopRequireDefault(require("./util"));
|
|
58
59
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
59
60
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
@@ -430,11 +431,11 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
430
431
|
// getting meeting by correlationId. This will happen for the new event
|
|
431
432
|
// Either the locus
|
|
432
433
|
// TODO : Add check for the callBack Address
|
|
433
|
-
return this.meetingCollection.getByKey(
|
|
434
|
+
return this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locusUrl) ||
|
|
434
435
|
// @ts-ignore
|
|
435
|
-
this.meetingCollection.getByKey(
|
|
436
|
+
this.meetingCollection.getByKey(_meetings.MEETING_KEY.CORRELATION_ID,
|
|
436
437
|
// @ts-ignore
|
|
437
|
-
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(
|
|
438
|
+
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, data.locus.conversationUrl)) || this.meetingCollection.getByKey(_meetings.MEETING_KEY.MEETINGNUMBER, (_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : (_data$locus$info2 = _data$locus.info) === null || _data$locus$info2 === void 0 ? void 0 : _data$locus$info2.webExMeetingId);
|
|
438
439
|
}
|
|
439
440
|
|
|
440
441
|
/**
|
|
@@ -462,7 +463,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
462
463
|
|
|
463
464
|
if (!meeting && ((_data$locus2 = data.locus) === null || _data$locus2 === void 0 ? void 0 : (_data$locus2$replaces = _data$locus2.replaces) === null || _data$locus2$replaces === void 0 ? void 0 : _data$locus2$replaces.length) > 0) {
|
|
464
465
|
// Always the last element in the replace is the active one
|
|
465
|
-
meeting = this.meetingCollection.getByKey(
|
|
466
|
+
meeting = this.meetingCollection.getByKey(_meetings.MEETING_KEY.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
|
|
466
467
|
}
|
|
467
468
|
if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
|
|
468
469
|
meeting.locusInfo.updateMainSessionLocusCache(data.locus);
|
|
@@ -505,7 +506,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
505
506
|
_loggerProxy.default.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
|
|
506
507
|
return;
|
|
507
508
|
}
|
|
508
|
-
this.create(data.locus, _constants.
|
|
509
|
+
this.create(data.locus, _constants.DESTINATION_TYPE.LOCUS_ID, useRandomDelayForInfo).then(function (newMeeting) {
|
|
509
510
|
meeting = newMeeting;
|
|
510
511
|
|
|
511
512
|
// It's a new meeting so initialize the locus data
|
|
@@ -787,7 +788,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
787
788
|
_loggerProxy.default.logger.info('Meetings:index#register --> INFO, Meetings plugin already registered');
|
|
788
789
|
return _promise.default.resolve();
|
|
789
790
|
}
|
|
790
|
-
return _promise.default.all([this.fetchUserPreferredWebexSite(), this.getGeoHint(), this.startReachability().catch(function (error) {
|
|
791
|
+
return _promise.default.all([this.fetchUserPreferredWebexSite(), this.getGeoHint(), this.startReachability('registration').catch(function (error) {
|
|
791
792
|
_loggerProxy.default.logger.error("Meetings:index#register --> GDM error, ".concat(error.message));
|
|
792
793
|
}),
|
|
793
794
|
// @ts-ignore
|
|
@@ -911,6 +912,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
911
912
|
|
|
912
913
|
/**
|
|
913
914
|
* initializes and starts gathering reachability for Meetings
|
|
915
|
+
* @param {string} trigger - explains the reason for starting reachability
|
|
914
916
|
* @returns {Promise}
|
|
915
917
|
* @public
|
|
916
918
|
* @memberof Meetings
|
|
@@ -918,7 +920,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
918
920
|
}, {
|
|
919
921
|
key: "startReachability",
|
|
920
922
|
value: function startReachability() {
|
|
921
|
-
|
|
923
|
+
var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'client';
|
|
924
|
+
return this.getReachability().gatherReachability(trigger);
|
|
922
925
|
}
|
|
923
926
|
|
|
924
927
|
/**
|
|
@@ -1016,7 +1019,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1016
1019
|
* When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
|
|
1017
1020
|
*
|
|
1018
1021
|
* @param {string} destination - sipURL, phonenumber, or locus object}
|
|
1019
|
-
* @param {
|
|
1022
|
+
* @param {DESTINATION_TYPE} [type] - the optional specified type, such as locusId
|
|
1020
1023
|
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
1021
1024
|
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1022
1025
|
* @param {string} correlationId - the optional specified correlationId (callStateForMetrics.correlationId can be provided instead)
|
|
@@ -1040,12 +1043,11 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1040
1043
|
var callStateForMetrics = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : undefined;
|
|
1041
1044
|
var meetingInfo = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : undefined;
|
|
1042
1045
|
var meetingLookupUrl = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : undefined;
|
|
1043
|
-
// TODO: type should be from a dictionary
|
|
1044
|
-
|
|
1045
1046
|
// Validate meeting information based on the provided destination and
|
|
1046
1047
|
// type. This must be performed prior to determining if the meeting is
|
|
1047
1048
|
// found in the collection, as we mutate the destination for hydra person
|
|
1048
1049
|
// id values.
|
|
1050
|
+
|
|
1049
1051
|
if (correlationId) {
|
|
1050
1052
|
callStateForMetrics = _objectSpread(_objectSpread({}, callStateForMetrics || {}), {}, {
|
|
1051
1053
|
correlationId: correlationId
|
|
@@ -1065,8 +1067,8 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1065
1067
|
|
|
1066
1068
|
// check for the conversation URL then sip Url
|
|
1067
1069
|
var meeting = null;
|
|
1068
|
-
if (type === _constants.
|
|
1069
|
-
var foundMeeting = _this10.meetingCollection.getByKey(
|
|
1070
|
+
if (type === _constants.DESTINATION_TYPE.CONVERSATION_URL || options.type === _constants.DESTINATION_TYPE.CONVERSATION_URL) {
|
|
1071
|
+
var foundMeeting = _this10.meetingCollection.getByKey(_meetings.MEETING_KEY.CONVERSATION_URL, targetDest);
|
|
1070
1072
|
if (foundMeeting) {
|
|
1071
1073
|
var foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
|
|
1072
1074
|
|
|
@@ -1080,7 +1082,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1080
1082
|
|
|
1081
1083
|
// Attempt to collect the meeting if it exists.
|
|
1082
1084
|
if (!meeting) {
|
|
1083
|
-
meeting = _this10.meetingCollection.getByKey(
|
|
1085
|
+
meeting = _this10.meetingCollection.getByKey(_meetings.MEETING_KEY.SIP_URI, targetDest);
|
|
1084
1086
|
}
|
|
1085
1087
|
|
|
1086
1088
|
// Validate if a meeting was found.
|
|
@@ -1145,7 +1147,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1145
1147
|
* When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
|
|
1146
1148
|
*
|
|
1147
1149
|
* @param {String} destination see create()
|
|
1148
|
-
* @param {
|
|
1150
|
+
* @param {DESTINATION_TYPE} type see create()
|
|
1149
1151
|
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1150
1152
|
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1151
1153
|
* @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
|
|
@@ -1197,7 +1199,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1197
1199
|
deviceUrl: this.webex.internal.device.url,
|
|
1198
1200
|
// @ts-ignore
|
|
1199
1201
|
orgId: this.webex.internal.device.orgId,
|
|
1200
|
-
locus: type === _constants.
|
|
1202
|
+
locus: type === _constants.DESTINATION_TYPE.LOCUS_ID ? destination : null,
|
|
1201
1203
|
// pass the locus object if present
|
|
1202
1204
|
meetingInfoProvider: this.meetingInfo,
|
|
1203
1205
|
destination: destination,
|
|
@@ -1233,52 +1235,56 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1233
1235
|
break;
|
|
1234
1236
|
}
|
|
1235
1237
|
meeting.injectMeetingInfo(meetingInfo, meetingInfoOptions, meetingLookupUrl);
|
|
1236
|
-
_context3.next =
|
|
1238
|
+
_context3.next = 27;
|
|
1237
1239
|
break;
|
|
1238
1240
|
case 19:
|
|
1241
|
+
if (!(type !== _constants.DESTINATION_TYPE.ONE_ON_ONE_CALL)) {
|
|
1242
|
+
_context3.next = 27;
|
|
1243
|
+
break;
|
|
1244
|
+
}
|
|
1239
1245
|
if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
|
|
1240
|
-
_context3.next =
|
|
1246
|
+
_context3.next = 25;
|
|
1241
1247
|
break;
|
|
1242
1248
|
}
|
|
1243
1249
|
meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
|
|
1244
1250
|
return meeting.fetchMeetingInfo(meetingInfoOptions);
|
|
1245
1251
|
}, waitingTime);
|
|
1246
1252
|
meeting.parseMeetingInfo(undefined, destination);
|
|
1247
|
-
_context3.next =
|
|
1253
|
+
_context3.next = 27;
|
|
1248
1254
|
break;
|
|
1249
|
-
case
|
|
1250
|
-
_context3.next =
|
|
1255
|
+
case 25:
|
|
1256
|
+
_context3.next = 27;
|
|
1251
1257
|
return meeting.fetchMeetingInfo(meetingInfoOptions);
|
|
1252
|
-
case
|
|
1253
|
-
_context3.next =
|
|
1258
|
+
case 27:
|
|
1259
|
+
_context3.next = 39;
|
|
1254
1260
|
break;
|
|
1255
|
-
case
|
|
1256
|
-
_context3.prev =
|
|
1261
|
+
case 29:
|
|
1262
|
+
_context3.prev = 29;
|
|
1257
1263
|
_context3.t0 = _context3["catch"](9);
|
|
1258
1264
|
if (!(!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default))) {
|
|
1259
|
-
_context3.next =
|
|
1265
|
+
_context3.next = 38;
|
|
1260
1266
|
break;
|
|
1261
1267
|
}
|
|
1262
1268
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
|
|
1263
1269
|
if (!failOnMissingMeetingInfo) {
|
|
1264
|
-
_context3.next =
|
|
1270
|
+
_context3.next = 37;
|
|
1265
1271
|
break;
|
|
1266
1272
|
}
|
|
1267
1273
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Destroying meeting due to missing meeting info.");
|
|
1268
1274
|
// @ts-ignore
|
|
1269
1275
|
this.destroy(meeting, _constants.MEETING_REMOVED_REASON.MISSING_MEETING_INFO);
|
|
1270
1276
|
throw new _noMeetingInfo.default();
|
|
1271
|
-
case
|
|
1277
|
+
case 37:
|
|
1272
1278
|
// if there is no meeting info and no error should be thrown then we assume its a 1:1 call or wireless share
|
|
1273
1279
|
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
|
|
1274
|
-
case 37:
|
|
1275
|
-
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
|
|
1276
1280
|
case 38:
|
|
1277
|
-
_context3.
|
|
1281
|
+
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
|
|
1282
|
+
case 39:
|
|
1283
|
+
_context3.prev = 39;
|
|
1278
1284
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
1279
1285
|
// about the caller and callee
|
|
1280
1286
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
1281
|
-
if (type !== _constants.
|
|
1287
|
+
if (type !== _constants.DESTINATION_TYPE.LOCUS_ID) {
|
|
1282
1288
|
if (!meeting.sipUri) {
|
|
1283
1289
|
meeting.setSipUri(destination);
|
|
1284
1290
|
}
|
|
@@ -1294,14 +1300,14 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1294
1300
|
type: meetingAddedType
|
|
1295
1301
|
});
|
|
1296
1302
|
}
|
|
1297
|
-
return _context3.finish(
|
|
1298
|
-
case 41:
|
|
1299
|
-
return _context3.abrupt("return", meeting);
|
|
1303
|
+
return _context3.finish(39);
|
|
1300
1304
|
case 42:
|
|
1305
|
+
return _context3.abrupt("return", meeting);
|
|
1306
|
+
case 43:
|
|
1301
1307
|
case "end":
|
|
1302
1308
|
return _context3.stop();
|
|
1303
1309
|
}
|
|
1304
|
-
}, _callee3, this, [[9,
|
|
1310
|
+
}, _callee3, this, [[9, 29, 39, 42]]);
|
|
1305
1311
|
}));
|
|
1306
1312
|
function createMeeting(_x3) {
|
|
1307
1313
|
return _createMeeting.apply(this, arguments);
|