@webex/plugin-meetings 2.60.0-next.1 → 2.60.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/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +71 -0
- package/dist/constants.d.ts +1072 -0
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/enums.js +2 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/parser.js +5 -5
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +34 -0
- package/dist/media/index.js +6 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +237 -0
- package/dist/mediaQualityMetrics/config.js +1 -202
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1719 -0
- package/dist/meeting/index.js +288 -155
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/muteState.d.ts +184 -0
- package/dist/meeting/request.d.ts +290 -0
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +103 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/meeting-info-v2.js +3 -0
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +14 -29
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +378 -0
- package/dist/meetings/index.js +30 -9
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +160 -0
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/metrics/constants.d.ts +68 -0
- package/dist/metrics/constants.js +3 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/index.d.ts +194 -0
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/reconnection-manager/index.js +27 -28
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/roap/index.d.ts +78 -0
- package/dist/roap/request.d.ts +41 -0
- package/dist/roap/turnDiscovery.d.ts +92 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +25 -0
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/index.d.ts +191 -0
- package/dist/statsAnalyzer/index.js +53 -146
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/statsAnalyzer/mqaUtil.js +11 -12
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +26 -27
- package/src/constants.ts +10 -4
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/locus-info/parser.ts +6 -6
- package/src/media/index.ts +5 -5
- package/src/mediaQualityMetrics/config.ts +0 -135
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +263 -125
- package/src/meeting-info/meeting-info-v2.ts +4 -0
- package/src/meeting-info/utilv2.ts +6 -19
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +28 -10
- package/src/metrics/constants.ts +3 -0
- package/src/reconnection-manager/index.ts +63 -68
- package/src/rtcMetrics/index.ts +24 -0
- package/src/statsAnalyzer/index.ts +68 -216
- package/src/statsAnalyzer/mqaUtil.ts +17 -22
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +1376 -189
- package/test/unit/spec/meeting/muteState.js +2 -1
- package/test/unit/spec/meeting-info/meetinginfov2.js +28 -0
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +382 -118
- package/test/unit/spec/member/util.js +0 -31
- package/test/unit/spec/reconnection-manager/index.js +42 -12
- package/test/unit/spec/rtcMetrics/index.ts +20 -0
- package/test/unit/spec/stats-analyzer/index.js +12 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Collection from '../common/collection';
|
|
2
|
+
/**
|
|
3
|
+
* @export
|
|
4
|
+
* @class MeetingCollection
|
|
5
|
+
*/
|
|
6
|
+
export default class MeetingCollection extends Collection {
|
|
7
|
+
/**
|
|
8
|
+
* @constructor
|
|
9
|
+
* @public
|
|
10
|
+
* @memberof MeetingCollection
|
|
11
|
+
*/
|
|
12
|
+
constructor();
|
|
13
|
+
set(meeting: any): any;
|
|
14
|
+
/**
|
|
15
|
+
* get a specific meeting searching for key
|
|
16
|
+
* @param {String} key
|
|
17
|
+
* @param {Any} value
|
|
18
|
+
* @returns {Meeting} if found, else returns null
|
|
19
|
+
* @public
|
|
20
|
+
* @memberof MeetingCollection
|
|
21
|
+
*/
|
|
22
|
+
getByKey(key: string, value: any): any;
|
|
23
|
+
/**
|
|
24
|
+
* get a specific meeting searching for key
|
|
25
|
+
* @param {String} breakoutUrl
|
|
26
|
+
* @returns {Meeting} if found, else returns null
|
|
27
|
+
* @public
|
|
28
|
+
* @memberof MeetingCollection
|
|
29
|
+
*/
|
|
30
|
+
getActiveBreakoutLocus(breakoutUrl: string): any;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the meeting that has a webrtc media connection
|
|
33
|
+
* NOTE: this function assumes there is no more than 1 such meeting
|
|
34
|
+
*
|
|
35
|
+
* @returns {Meeting} first meeting found, else undefined
|
|
36
|
+
* @public
|
|
37
|
+
* @memberof MeetingCollection
|
|
38
|
+
*/
|
|
39
|
+
getActiveWebrtcMeeting(): any;
|
|
40
|
+
}
|
|
@@ -83,6 +83,23 @@ var MeetingCollection = exports.default = /*#__PURE__*/function (_Collection) {
|
|
|
83
83
|
}
|
|
84
84
|
return null;
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Gets the meeting that has a webrtc media connection
|
|
89
|
+
* NOTE: this function assumes there is no more than 1 such meeting
|
|
90
|
+
*
|
|
91
|
+
* @returns {Meeting} first meeting found, else undefined
|
|
92
|
+
* @public
|
|
93
|
+
* @memberof MeetingCollection
|
|
94
|
+
*/
|
|
95
|
+
}, {
|
|
96
|
+
key: "getActiveWebrtcMeeting",
|
|
97
|
+
value: function getActiveWebrtcMeeting() {
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
return (0, _lodash.find)(this.meetings, function (meeting) {
|
|
100
|
+
return meeting.mediaProperties.webrtcMediaConnection;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
86
103
|
}]);
|
|
87
104
|
return MeetingCollection;
|
|
88
105
|
}(_collection.default);
|
|
@@ -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","Collection"],"sources":["collection.ts"],"sourcesContent":["import {find} from 'lodash';\n\nimport Collection from '../common/collection';\n\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 {String} key\n * @param {Any} value\n * @returns {Meeting} if found, else returns null\n * @public\n * @memberof MeetingCollection\n */\n public getByKey(key: string, 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"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8C,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAE9C;AACA;AACA;AACA;AAHA,IAIqBC,iBAAiB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,WAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,iBAAA,EAAAE,WAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,iBAAA;EACpC;AACF;AACA;AACA;AACA;EACE,SAAAA,kBAAA,EAAc;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,iBAAA;IAAA,OAAAI,MAAA,CAAAN,IAAA,OACN,UAAU;EAClB;EAAC,IAAAQ,aAAA,CAAAtB,OAAA,EAAAgB,iBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,OAAO,EAAE;MACX;MACA,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC,GAAGF,OAAO;;MAEnC;MACA,OAAO,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAL,GAAA;IAAAC,KAAA,EAQA,SAAAK,SAAgBN,GAAW,EAAEC,KAAU,EAAE;MACvC,IAAID,GAAG,IAAIC,KAAK,EAAE;QAChB;QACA,OAAO,IAAAM,YAAI,EAAC,IAAI,CAACH,QAAQ,EAAE,UAACD,OAAO;UAAA,OAAKA,OAAO,CAACH,GAAG,CAAC,KAAKC,KAAK;QAAA,EAAC;MACjE;MAEA,OAAO,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAD,GAAA;IAAAC,KAAA,EAOA,SAAAO,uBAA8BC,WAAmB,EAAE;MACjD,IAAIA,WAAW,EAAE;QACf;QACA,OAAO,IAAAF,YAAI;QACT;QACA,IAAI,CAACH,QAAQ,EACb,UAACD,OAAO;UAAA,IAAAO,kBAAA,EAAAC,mBAAA;UAAA,OAAK,EAAAD,kBAAA,GAAAP,OAAO,CAACS,SAAS,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBG,GAAG,MAAKJ,WAAW,MAAAE,mBAAA,GAAIR,OAAO,CAACS,SAAS,cAAAD,mBAAA,uBAAjBA,mBAAA,CAAmBG,gBAAgB;QAAA,CAC5F,CAAC;MACH;MAEA,OAAO,IAAI;IACb;EAAC;EAAA,
|
|
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\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 {String} key\n * @param {Any} value\n * @returns {Meeting} if found, else returns null\n * @public\n * @memberof MeetingCollection\n */\n public getByKey(key: string, 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":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8C,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAE9C;AACA;AACA;AACA;AAHA,IAIqBC,iBAAiB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,WAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,iBAAA,EAAAE,WAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,iBAAA;EACpC;AACF;AACA;AACA;AACA;EACE,SAAAA,kBAAA,EAAc;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,iBAAA;IAAA,OAAAI,MAAA,CAAAN,IAAA,OACN,UAAU;EAClB;EAAC,IAAAQ,aAAA,CAAAtB,OAAA,EAAAgB,iBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,OAAO,EAAE;MACX;MACA,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC,GAAGF,OAAO;;MAEnC;MACA,OAAO,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAL,GAAA;IAAAC,KAAA,EAQA,SAAAK,SAAgBN,GAAW,EAAEC,KAAU,EAAE;MACvC,IAAID,GAAG,IAAIC,KAAK,EAAE;QAChB;QACA,OAAO,IAAAM,YAAI,EAAC,IAAI,CAACH,QAAQ,EAAE,UAACD,OAAO;UAAA,OAAKA,OAAO,CAACH,GAAG,CAAC,KAAKC,KAAK;QAAA,EAAC;MACjE;MAEA,OAAO,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAD,GAAA;IAAAC,KAAA,EAOA,SAAAO,uBAA8BC,WAAmB,EAAE;MACjD,IAAIA,WAAW,EAAE;QACf;QACA,OAAO,IAAAF,YAAI;QACT;QACA,IAAI,CAACH,QAAQ,EACb,UAACD,OAAO;UAAA,IAAAO,kBAAA,EAAAC,mBAAA;UAAA,OAAK,EAAAD,kBAAA,GAAAP,OAAO,CAACS,SAAS,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBG,GAAG,MAAKJ,WAAW,MAAAE,mBAAA,GAAIR,OAAO,CAACS,SAAS,cAAAD,mBAAA,uBAAjBA,mBAAA,CAAmBG,gBAAgB;QAAA,CAC5F,CAAC;MACH;MAEA,OAAO,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAd,GAAA;IAAAC,KAAA,EAQA,SAAAc,uBAAA,EAAgC;MAC9B;MACA,OAAO,IAAAR,YAAI,EAAC,IAAI,CAACH,QAAQ,EAAE,UAACD,OAAO;QAAA,OAAKA,OAAO,CAACa,eAAe,CAACC,qBAAqB;MAAA,EAAC;IACxF;EAAC;EAAA,OAAAxB,iBAAA;AAAA,EAlE4CyB,mBAAU"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import '@webex/internal-plugin-mercury';
|
|
2
|
+
import '@webex/internal-plugin-conversation';
|
|
3
|
+
import '@webex/internal-plugin-metrics';
|
|
4
|
+
import { WebexPlugin } from '@webex/webex-core';
|
|
5
|
+
import * as mediaHelpersModule from '@webex/media-helpers';
|
|
6
|
+
import 'webrtc-adapter';
|
|
7
|
+
import { CallStateForMetrics } from '../meeting';
|
|
8
|
+
import Reachability from '../reachability';
|
|
9
|
+
import { INoiseReductionEffect, IVirtualBackgroundEffect } from './meetings.types';
|
|
10
|
+
/**
|
|
11
|
+
* Meetings Ready Event
|
|
12
|
+
* Emitted when the meetings instance on webex is ready
|
|
13
|
+
* @event meetings:ready
|
|
14
|
+
* @instance
|
|
15
|
+
* @memberof Meetings
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Meetings Network Disconnected Event
|
|
19
|
+
* Emitted when the meetings instance is disconnected from
|
|
20
|
+
* the internal mercury server
|
|
21
|
+
* @event network:disconnected
|
|
22
|
+
* @instance
|
|
23
|
+
* @memberof Meetings
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Meetings Registered Event
|
|
27
|
+
* Emitted when the meetings instance has been registered and listening
|
|
28
|
+
* @event meetings:registered
|
|
29
|
+
* @instance
|
|
30
|
+
* @memberof Meetings
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Meeting Removed Event
|
|
34
|
+
* Emitted when a meeting was removed from the cache of meetings
|
|
35
|
+
* @event meeting:removed
|
|
36
|
+
* @instance
|
|
37
|
+
* @type {Object}
|
|
38
|
+
* @property {String} meetingId the removed meeting
|
|
39
|
+
* @property {Object} response the server response
|
|
40
|
+
* @property {String} type what type of meeting it was
|
|
41
|
+
* @memberof Meetings
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* Meeting Added Event
|
|
45
|
+
* Emitted when a meeting was added to the cache of meetings
|
|
46
|
+
* @event meeting:added
|
|
47
|
+
* @instance
|
|
48
|
+
* @type {Object}
|
|
49
|
+
* @property {String} meetingId the added meeting
|
|
50
|
+
* @property {String} type what type of meeting it was
|
|
51
|
+
* @memberof Meetings
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* Maintain a cache of meetings and sync with services.
|
|
55
|
+
* @class
|
|
56
|
+
*/
|
|
57
|
+
export default class Meetings extends WebexPlugin {
|
|
58
|
+
loggerRequest: any;
|
|
59
|
+
media: any;
|
|
60
|
+
meetingCollection: any;
|
|
61
|
+
personalMeetingRoom: any;
|
|
62
|
+
preferredWebexSite: any;
|
|
63
|
+
reachability: Reachability;
|
|
64
|
+
registered: any;
|
|
65
|
+
request: any;
|
|
66
|
+
geoHintInfo: any;
|
|
67
|
+
meetingInfo: any;
|
|
68
|
+
mediaHelpers: any;
|
|
69
|
+
breakoutLocusForHandleLater: any;
|
|
70
|
+
namespace: string;
|
|
71
|
+
/**
|
|
72
|
+
* Initializes the Meetings Plugin
|
|
73
|
+
* @constructor
|
|
74
|
+
* @public
|
|
75
|
+
* @memberof Meetings
|
|
76
|
+
*/
|
|
77
|
+
constructor(...args: any[]);
|
|
78
|
+
/**
|
|
79
|
+
* check whether you need to handle this main session's locus data or not
|
|
80
|
+
* @param {Object} meeting current meeting data
|
|
81
|
+
* @param {Object} newLocus new locus data
|
|
82
|
+
* @returns {boolean}
|
|
83
|
+
* @private
|
|
84
|
+
* @memberof Meetings
|
|
85
|
+
*/
|
|
86
|
+
private isNeedHandleMainLocus;
|
|
87
|
+
/**
|
|
88
|
+
* check whether you need to handle this locus data or not
|
|
89
|
+
* @param {Object} meeting old locus data
|
|
90
|
+
* @param {Object} newLocus new locus data
|
|
91
|
+
* @returns {boolean}
|
|
92
|
+
* @private
|
|
93
|
+
* @memberof Meetings
|
|
94
|
+
*/
|
|
95
|
+
private isNeedHandleLocusDTO;
|
|
96
|
+
/**
|
|
97
|
+
* get corresponding meeting object by locus data
|
|
98
|
+
* @param {Object} data a locus event
|
|
99
|
+
* @param {String} data.locusUrl
|
|
100
|
+
* @param {Object} data.locus
|
|
101
|
+
* @returns {Object}
|
|
102
|
+
* @private
|
|
103
|
+
* @memberof Meetings
|
|
104
|
+
*/
|
|
105
|
+
getCorrespondingMeetingByLocus(data: any): any;
|
|
106
|
+
/**
|
|
107
|
+
* handle locus events and takes meeting actions with them as they come in
|
|
108
|
+
* @param {Object} data a locus event
|
|
109
|
+
* @param {String} data.locusUrl
|
|
110
|
+
* @param {Object} data.locus
|
|
111
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
112
|
+
* @param {String} data.eventType
|
|
113
|
+
* @returns {undefined}
|
|
114
|
+
* @private
|
|
115
|
+
* @memberof Meetings
|
|
116
|
+
*/
|
|
117
|
+
private handleLocusEvent;
|
|
118
|
+
/**
|
|
119
|
+
* handles locus events through mercury that are not roap
|
|
120
|
+
* @param {Object} envelope
|
|
121
|
+
* @param {Object} envelope.data
|
|
122
|
+
* @param {String} envelope.data.eventType
|
|
123
|
+
* @returns {undefined}
|
|
124
|
+
* @private
|
|
125
|
+
* @memberof Meetings
|
|
126
|
+
*/
|
|
127
|
+
private handleLocusMercury;
|
|
128
|
+
/**
|
|
129
|
+
* handles mecury offline event
|
|
130
|
+
* @returns {undefined}
|
|
131
|
+
* @private
|
|
132
|
+
* @memberof Meetings
|
|
133
|
+
*/
|
|
134
|
+
private handleMercuryOffline;
|
|
135
|
+
/**
|
|
136
|
+
* registers for locus and roap mercury events
|
|
137
|
+
* @returns {undefined}
|
|
138
|
+
* @private
|
|
139
|
+
* @memberof Meetings
|
|
140
|
+
*/
|
|
141
|
+
private listenForEvents;
|
|
142
|
+
/**
|
|
143
|
+
* stops listening for locus and roap mercury events
|
|
144
|
+
* @returns {undefined}
|
|
145
|
+
* @private
|
|
146
|
+
* @memberof Meetings
|
|
147
|
+
*/
|
|
148
|
+
private stopListeningForEvents;
|
|
149
|
+
/**
|
|
150
|
+
* @returns {undefined}
|
|
151
|
+
* @private
|
|
152
|
+
* @memberof Meetings
|
|
153
|
+
*/
|
|
154
|
+
private onReady;
|
|
155
|
+
/**
|
|
156
|
+
* API to toggle unified meetings
|
|
157
|
+
* @param {Boolean} changeState
|
|
158
|
+
* @private
|
|
159
|
+
* @memberof Meetings
|
|
160
|
+
* @returns {undefined}
|
|
161
|
+
*/
|
|
162
|
+
private _toggleUnifiedMeetings;
|
|
163
|
+
/**
|
|
164
|
+
* API to toggle starting adhoc meeting
|
|
165
|
+
* @param {Boolean} changeState
|
|
166
|
+
* @private
|
|
167
|
+
* @memberof Meetings
|
|
168
|
+
* @returns {undefined}
|
|
169
|
+
*/
|
|
170
|
+
private _toggleAdhocMeetings;
|
|
171
|
+
/**
|
|
172
|
+
* Explicitly sets up the meetings plugin by registering
|
|
173
|
+
* the device, connecting to mercury, and listening for locus events.
|
|
174
|
+
*
|
|
175
|
+
* @returns {Promise}
|
|
176
|
+
* @public
|
|
177
|
+
* @memberof Meetings
|
|
178
|
+
*/
|
|
179
|
+
register(): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Explicitly tears down the meetings plugin by deregistering
|
|
182
|
+
* the device, disconnecting from mercury, and stops listening to locus events
|
|
183
|
+
*
|
|
184
|
+
* @returns {Promise}
|
|
185
|
+
* @public
|
|
186
|
+
* @memberof Meetings
|
|
187
|
+
*/
|
|
188
|
+
unregister(): any;
|
|
189
|
+
/**
|
|
190
|
+
* Creates a noise reduction effect
|
|
191
|
+
*
|
|
192
|
+
* @param {INoiseReductionEffect} options optional custom effect options
|
|
193
|
+
* @returns {Promise<effect>} noise reduction effect.
|
|
194
|
+
* @public
|
|
195
|
+
* @memberof Meetings
|
|
196
|
+
*/
|
|
197
|
+
createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<mediaHelpersModule.NoiseReductionEffect>;
|
|
198
|
+
/**
|
|
199
|
+
* Creates a virtual background effect
|
|
200
|
+
*
|
|
201
|
+
* @param {IVirtualBackgroundEffect} options optional custom effect options
|
|
202
|
+
* @returns {Promise<effect>} virtual background effect.
|
|
203
|
+
* @public
|
|
204
|
+
* @memberof Meetings
|
|
205
|
+
*/
|
|
206
|
+
createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<mediaHelpersModule.VirtualBackgroundEffect>;
|
|
207
|
+
/**
|
|
208
|
+
* Uploads logs to the webex services for tracking
|
|
209
|
+
* @param {Object} [options={}]
|
|
210
|
+
* @param {String} [options.callStart] Call Start Time
|
|
211
|
+
* @param {String} [options.feedbackId] ID used for tracking
|
|
212
|
+
* @param {String} [options.locusId]
|
|
213
|
+
* @param {String} [options.correlationId]
|
|
214
|
+
* @param {String} [options.meetingId] webex meeting ID
|
|
215
|
+
* @param {String} [options.userId] userId
|
|
216
|
+
* @param {String} [options.orgId] org id
|
|
217
|
+
* @returns {String} feedback ID logs were submitted under
|
|
218
|
+
*/
|
|
219
|
+
uploadLogs(options?: {
|
|
220
|
+
autoupload?: boolean;
|
|
221
|
+
callStart?: string;
|
|
222
|
+
feedbackId?: string;
|
|
223
|
+
locussessionid?: string;
|
|
224
|
+
locusId?: string;
|
|
225
|
+
correlationId?: string;
|
|
226
|
+
meetingId?: string;
|
|
227
|
+
userId?: string;
|
|
228
|
+
orgId?: string;
|
|
229
|
+
}): any;
|
|
230
|
+
/**
|
|
231
|
+
* gets the reachability instance for Meetings
|
|
232
|
+
* @returns {Reachability}
|
|
233
|
+
* @public
|
|
234
|
+
* @memberof Meetings
|
|
235
|
+
*/
|
|
236
|
+
getReachability(): Reachability;
|
|
237
|
+
/**
|
|
238
|
+
* initializes and starts gathering reachability for Meetings
|
|
239
|
+
* @returns {Promise}
|
|
240
|
+
* @public
|
|
241
|
+
* @memberof Meetings
|
|
242
|
+
*/
|
|
243
|
+
startReachability(): Promise<{
|
|
244
|
+
[x: string]: {
|
|
245
|
+
udp: import("../reachability").TransportResult;
|
|
246
|
+
tcp: import("../reachability").TransportResult;
|
|
247
|
+
xtls: {
|
|
248
|
+
untested: "true";
|
|
249
|
+
};
|
|
250
|
+
} & {
|
|
251
|
+
isVideoMesh?: boolean;
|
|
252
|
+
};
|
|
253
|
+
}>;
|
|
254
|
+
/**
|
|
255
|
+
* Get geoHint for info for meetings
|
|
256
|
+
* @returns {Promise}
|
|
257
|
+
* @private
|
|
258
|
+
* @memberof Meetings
|
|
259
|
+
*/
|
|
260
|
+
getGeoHint(): any;
|
|
261
|
+
/**
|
|
262
|
+
* Fetch user preferred webex site information
|
|
263
|
+
* This also has other infomation about the user
|
|
264
|
+
* @returns {Promise}
|
|
265
|
+
* @private
|
|
266
|
+
* @memberof Meetings
|
|
267
|
+
*/
|
|
268
|
+
fetchUserPreferredWebexSite(): any;
|
|
269
|
+
/**
|
|
270
|
+
* gets the personal meeting room instance, for saved PMR values for this user
|
|
271
|
+
* @returns {PersonalMeetingRoom}
|
|
272
|
+
* @public
|
|
273
|
+
* @memberof Meetings
|
|
274
|
+
*/
|
|
275
|
+
getPersonalMeetingRoom(): any;
|
|
276
|
+
/**
|
|
277
|
+
* @param {Meeting} meeting
|
|
278
|
+
* @param {Object} reason
|
|
279
|
+
* @param {String} type
|
|
280
|
+
* @returns {Undefined}
|
|
281
|
+
* @private
|
|
282
|
+
* @memberof Meetings
|
|
283
|
+
*/
|
|
284
|
+
private destroy;
|
|
285
|
+
/**
|
|
286
|
+
* Create a meeting or return an existing meeting.
|
|
287
|
+
* @param {string} destination - sipURL, phonenumber, or locus object}
|
|
288
|
+
* @param {string} [type] - the optional specified type, such as locusId
|
|
289
|
+
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
290
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
291
|
+
* @param {string} correlationId - the optional specified correlationId (callStateForMetrics.correlationId can be provided instead)
|
|
292
|
+
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
293
|
+
* @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
|
|
294
|
+
* @returns {Promise<Meeting>} A new Meeting.
|
|
295
|
+
* @public
|
|
296
|
+
* @memberof Meetings
|
|
297
|
+
*/
|
|
298
|
+
create(destination: string, type?: string, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics): any;
|
|
299
|
+
/**
|
|
300
|
+
* @param {String} destination see create()
|
|
301
|
+
* @param {String} type see create()
|
|
302
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
303
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
304
|
+
* @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
|
|
305
|
+
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
306
|
+
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
307
|
+
* @private
|
|
308
|
+
* @memberof Meetings
|
|
309
|
+
*/
|
|
310
|
+
private createMeeting;
|
|
311
|
+
/**
|
|
312
|
+
* get a specifc meeting given it's type matched to the value, i.e., locus url
|
|
313
|
+
* @param {String} type
|
|
314
|
+
* @param {Object} value
|
|
315
|
+
* @returns {Meeting}
|
|
316
|
+
* @public
|
|
317
|
+
* @memberof Meetings
|
|
318
|
+
*/
|
|
319
|
+
getMeetingByType(type: string, value: object): any;
|
|
320
|
+
/**
|
|
321
|
+
* Get all meetings.
|
|
322
|
+
* @param {object} options
|
|
323
|
+
* @param {object} options.startDate - get meetings after this start date
|
|
324
|
+
* @param {object} options.endDate - get meetings before this end date
|
|
325
|
+
* @returns {Object} All currently active meetings.
|
|
326
|
+
* @public
|
|
327
|
+
* @memberof Meetings
|
|
328
|
+
*/
|
|
329
|
+
getAllMeetings(options?: {
|
|
330
|
+
startDate: object;
|
|
331
|
+
endDate: object;
|
|
332
|
+
}): any;
|
|
333
|
+
/**
|
|
334
|
+
* syncs all the meeting from server
|
|
335
|
+
* @returns {undefined}
|
|
336
|
+
* @public
|
|
337
|
+
* @memberof Meetings
|
|
338
|
+
*/
|
|
339
|
+
syncMeetings(): any;
|
|
340
|
+
/**
|
|
341
|
+
* sort out locus array for initial creating
|
|
342
|
+
* @param {Array} loci original locus array
|
|
343
|
+
* @returns {undefined}
|
|
344
|
+
* @public
|
|
345
|
+
* @memberof Meetings
|
|
346
|
+
*/
|
|
347
|
+
sortLocusArrayToUpdate(loci: any[]): any[];
|
|
348
|
+
/**
|
|
349
|
+
* check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
|
|
350
|
+
* @param {Object} newCreatedLocus the locus which just create meeting object of it
|
|
351
|
+
* @returns {undefined}
|
|
352
|
+
* @public
|
|
353
|
+
* @memberof Meetings
|
|
354
|
+
*/
|
|
355
|
+
checkHandleBreakoutLocus(newCreatedLocus: any): void;
|
|
356
|
+
/**
|
|
357
|
+
* Get all scheduled meetings.
|
|
358
|
+
* @param {object} options
|
|
359
|
+
* @param {object} options.startDate - get meetings after this start date
|
|
360
|
+
* @param {object} options.endDate - get meetings before this end date
|
|
361
|
+
* @returns {Object} All scheduled meetings.
|
|
362
|
+
* @memberof Meetings
|
|
363
|
+
*/
|
|
364
|
+
getScheduledMeetings(): any;
|
|
365
|
+
/**
|
|
366
|
+
* Get the logger instance for plugin-meetings
|
|
367
|
+
* @returns {Logger}
|
|
368
|
+
*/
|
|
369
|
+
getLogger(): any;
|
|
370
|
+
/**
|
|
371
|
+
* Returns the first meeting it finds that has the webrtc media connection created.
|
|
372
|
+
* Useful for debugging in the console.
|
|
373
|
+
*
|
|
374
|
+
* @private
|
|
375
|
+
* @returns {Meeting} Meeting object that has a webrtc media connection, else undefined
|
|
376
|
+
*/
|
|
377
|
+
getActiveWebrtcMeeting(): any;
|
|
378
|
+
}
|
package/dist/meetings/index.js
CHANGED
|
@@ -963,13 +963,14 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
963
963
|
}
|
|
964
964
|
|
|
965
965
|
/**
|
|
966
|
-
* Create a meeting.
|
|
966
|
+
* Create a meeting or return an existing meeting.
|
|
967
967
|
* @param {string} destination - sipURL, phonenumber, or locus object}
|
|
968
968
|
* @param {string} [type] - the optional specified type, such as locusId
|
|
969
969
|
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
970
970
|
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
971
|
-
* @param {string} correlationId - the optional specified correlationId
|
|
971
|
+
* @param {string} correlationId - the optional specified correlationId (callStateForMetrics.correlationId can be provided instead)
|
|
972
972
|
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
973
|
+
* @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
|
|
973
974
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
974
975
|
* @public
|
|
975
976
|
* @memberof Meetings
|
|
@@ -983,12 +984,18 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
983
984
|
var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
984
985
|
var correlationId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
985
986
|
var failOnMissingMeetingInfo = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
987
|
+
var callStateForMetrics = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : undefined;
|
|
986
988
|
// TODO: type should be from a dictionary
|
|
987
989
|
|
|
988
990
|
// Validate meeting information based on the provided destination and
|
|
989
991
|
// type. This must be performed prior to determining if the meeting is
|
|
990
992
|
// found in the collection, as we mutate the destination for hydra person
|
|
991
993
|
// id values.
|
|
994
|
+
if (correlationId) {
|
|
995
|
+
callStateForMetrics = _objectSpread(_objectSpread({}, callStateForMetrics || {}), {}, {
|
|
996
|
+
correlationId: correlationId
|
|
997
|
+
});
|
|
998
|
+
}
|
|
992
999
|
return this.meetingInfo.fetchInfoOptions(destination, type)
|
|
993
1000
|
// Catch a failure to fetch info options.
|
|
994
1001
|
.catch(function (error) {
|
|
@@ -1024,7 +1031,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1024
1031
|
// Validate if a meeting was found.
|
|
1025
1032
|
if (!meeting) {
|
|
1026
1033
|
// Create a meeting based on the normalized destination and type.
|
|
1027
|
-
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams,
|
|
1034
|
+
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, callStateForMetrics, failOnMissingMeetingInfo).then(function (createdMeeting) {
|
|
1028
1035
|
// If the meeting was successfully created.
|
|
1029
1036
|
if (createdMeeting && createdMeeting.on) {
|
|
1030
1037
|
// Create a destruction event for the meeting.
|
|
@@ -1070,6 +1077,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1070
1077
|
return _promise.default.resolve(createdMeeting);
|
|
1071
1078
|
});
|
|
1072
1079
|
}
|
|
1080
|
+
meeting.setCallStateForMetrics(callStateForMetrics);
|
|
1073
1081
|
|
|
1074
1082
|
// Return the existing meeting.
|
|
1075
1083
|
return _promise.default.resolve(meeting);
|
|
@@ -1081,7 +1089,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1081
1089
|
* @param {String} type see create()
|
|
1082
1090
|
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1083
1091
|
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1084
|
-
* @param {
|
|
1092
|
+
* @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
|
|
1085
1093
|
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
1086
1094
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
1087
1095
|
* @private
|
|
@@ -1094,7 +1102,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1094
1102
|
var type,
|
|
1095
1103
|
useRandomDelayForInfo,
|
|
1096
1104
|
infoExtraParams,
|
|
1097
|
-
|
|
1105
|
+
callStateForMetrics,
|
|
1098
1106
|
failOnMissingMeetingInfo,
|
|
1099
1107
|
meeting,
|
|
1100
1108
|
_destination$fullStat,
|
|
@@ -1114,7 +1122,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1114
1122
|
type = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
|
|
1115
1123
|
useRandomDelayForInfo = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
|
|
1116
1124
|
infoExtraParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
|
|
1117
|
-
|
|
1125
|
+
callStateForMetrics = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : undefined;
|
|
1118
1126
|
failOnMissingMeetingInfo = _args3.length > 5 && _args3[5] !== undefined ? _args3[5] : false;
|
|
1119
1127
|
meeting = new _meeting.default({
|
|
1120
1128
|
// @ts-ignore
|
|
@@ -1128,7 +1136,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1128
1136
|
meetingInfoProvider: this.meetingInfo,
|
|
1129
1137
|
destination: destination,
|
|
1130
1138
|
destinationType: type,
|
|
1131
|
-
|
|
1139
|
+
callStateForMetrics: callStateForMetrics
|
|
1132
1140
|
}, {
|
|
1133
1141
|
// @ts-ignore
|
|
1134
1142
|
parent: this.webex
|
|
@@ -1157,7 +1165,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1157
1165
|
meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
|
|
1158
1166
|
return meeting.fetchMeetingInfo({
|
|
1159
1167
|
extraParams: infoExtraParams,
|
|
1160
|
-
sendCAevents: !!correlationId // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1168
|
+
sendCAevents: !!(callStateForMetrics !== null && callStateForMetrics !== void 0 && callStateForMetrics.correlationId) // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1161
1169
|
});
|
|
1162
1170
|
}, waitingTime);
|
|
1163
1171
|
meeting.parseMeetingInfo(undefined, destination);
|
|
@@ -1167,7 +1175,7 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1167
1175
|
_context3.next = 19;
|
|
1168
1176
|
return meeting.fetchMeetingInfo({
|
|
1169
1177
|
extraParams: infoExtraParams,
|
|
1170
|
-
sendCAevents: !!correlationId // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1178
|
+
sendCAevents: !!(callStateForMetrics !== null && callStateForMetrics !== void 0 && callStateForMetrics.correlationId) // if client sends correlation id as argument of public create(), then it means that this meeting creation is part of a pre-join intent from user
|
|
1171
1179
|
});
|
|
1172
1180
|
case 19:
|
|
1173
1181
|
_context3.next = 31;
|
|
@@ -1399,6 +1407,19 @@ var Meetings = exports.default = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1399
1407
|
value: function getLogger() {
|
|
1400
1408
|
return _loggerProxy.default.get();
|
|
1401
1409
|
}
|
|
1410
|
+
|
|
1411
|
+
/**
|
|
1412
|
+
* Returns the first meeting it finds that has the webrtc media connection created.
|
|
1413
|
+
* Useful for debugging in the console.
|
|
1414
|
+
*
|
|
1415
|
+
* @private
|
|
1416
|
+
* @returns {Meeting} Meeting object that has a webrtc media connection, else undefined
|
|
1417
|
+
*/
|
|
1418
|
+
}, {
|
|
1419
|
+
key: "getActiveWebrtcMeeting",
|
|
1420
|
+
value: function getActiveWebrtcMeeting() {
|
|
1421
|
+
return this.meetingCollection.getActiveWebrtcMeeting();
|
|
1422
|
+
}
|
|
1402
1423
|
}]);
|
|
1403
1424
|
return Meetings;
|
|
1404
1425
|
}(_webexCore.WebexPlugin);
|