@webex/plugin-meetings 2.59.8-next.2 → 2.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/browser-detection.js +2 -2
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/collection.js +2 -2
- package/dist/common/collection.js.map +1 -1
- 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/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-error.d.ts +60 -0
- package/dist/common/errors/reclaim-host-role-error.js +158 -0
- package/dist/common/errors/reclaim-host-role-error.js.map +1 -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 +81 -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 +34 -0
- package/dist/common/queue.d.ts +32 -0
- package/dist/config.d.ts +73 -0
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +952 -0
- package/dist/constants.js +31 -2
- 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 +5 -0
- package/dist/controls-options-manager/index.d.ts +120 -0
- package/dist/controls-options-manager/index.js +2 -2
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/controlsUtils.js +6 -6
- package/dist/locus-info/controlsUtils.js.map +1 -1
- 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 +269 -0
- package/dist/locus-info/index.js +18 -18
- package/dist/locus-info/index.js.map +1 -1
- 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 +212 -0
- package/dist/locus-info/parser.js +2 -2
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +32 -0
- package/dist/media/properties.d.ts +108 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +233 -0
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/in-meeting-actions.d.ts +79 -0
- package/dist/meeting/index.d.ts +1622 -0
- package/dist/meeting/index.js +51 -28
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +116 -0
- package/dist/meeting/request.d.ts +255 -0
- package/dist/meeting/request.js +2 -2
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +2 -0
- package/dist/meeting/util.js +4 -4
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/collection.js +2 -2
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +57 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
- 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/meetings/collection.d.ts +23 -0
- package/dist/meetings/collection.js +2 -2
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +296 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +148 -0
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/member/util.js +11 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +24 -0
- package/dist/members/index.d.ts +308 -0
- package/dist/members/index.js +39 -2
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +58 -0
- package/dist/members/request.js +19 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.d.ts +25 -0
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.d.ts +2 -0
- package/dist/members/util.js +50 -0
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/constants.d.ts +59 -0
- package/dist/metrics/constants.js +2 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +152 -0
- package/dist/metrics/index.js +2 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/util.d.ts +6 -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 +139 -0
- package/dist/reachability/index.js +2 -9
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +35 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +32 -0
- package/dist/reconnection-manager/index.d.ts +112 -0
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +193 -0
- package/dist/recording-controller/util.d.ts +13 -0
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/index.d.ts +116 -0
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +35 -0
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/turnDiscovery.d.ts +81 -0
- package/dist/roap/util.d.ts +2 -0
- package/dist/statsAnalyzer/global.d.ts +118 -0
- package/dist/statsAnalyzer/global.js +4 -12
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +193 -0
- package/dist/statsAnalyzer/index.js +56 -14
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
- package/dist/statsAnalyzer/mqaUtil.js +15 -15
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/package.json +21 -22
- package/src/common/errors/reclaim-host-role-error.ts +134 -0
- package/src/config.ts +2 -2
- package/src/constants.ts +33 -0
- package/src/meeting/index.ts +35 -0
- package/src/member/index.ts +9 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +55 -1
- package/src/members/request.ts +20 -0
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +52 -0
- package/src/metrics/constants.ts +2 -0
- package/src/roap/index.ts +1 -0
- package/src/statsAnalyzer/global.ts +2 -10
- package/src/statsAnalyzer/index.ts +80 -17
- package/test/unit/spec/meeting/index.js +77 -6
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +32 -0
- package/test/unit/spec/members/index.js +205 -0
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/roap/index.ts +0 -1
- package/test/unit/spec/stats-analyzer/index.js +151 -0
package/dist/member/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_parameter","_interopRequireDefault","MemberUtil","isUser","participant","type","_USER_","isModerator","moderator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","some","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","ParameterError","mutedStatus","isMuted","AUDIO_STATUS","controls","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","_participant$controls","_participant$controls2","hand","raised","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport {IMediaStatus} from './member.types';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status: string, accessor: string) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status.audioStatus,\n video: participant.status.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAiBA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAMG,UAAe,GAAG,CAAC,CAAC;;AAE1B;AACA;AACA;AACA;AACAA,UAAU,CAACC,MAAM,GAAG,UAACC,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACC,IAAI,KAAKC,iBAAM;AAAA;AAEpFJ,UAAU,CAACK,WAAW,GAAG,UAACH,WAAW;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACI,SAAS;AAAA;;AAE9E;AACA;AACA;AACA;AACAN,UAAU,CAACO,OAAO,GAAG,UAACL,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACM,KAAK;AAAA;;AAE3E;AACA;AACA;AACA;AACAR,UAAU,CAACS,QAAQ,GAAG,UAACP,WAAgB;EAAA,OAAKA,WAAW,IAAIA,WAAW,CAACC,IAAI,KAAKO,0BAAe;AAAA;AAE/FV,UAAU,CAACW,+BAA+B,GAAG,UAACT,WAAW;EAAA,OACvDA,WAAW,IAAIA,WAAW,CAACU,6BAA6B;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACAZ,UAAU,CAACa,MAAM,GAAG,UAACX,WAAgB,EAAEY,EAAU;EAAA,OAC/CZ,WAAW,KAAKA,WAAW,CAACY,EAAE,KAAKA,EAAE,IAAKZ,WAAW,CAACa,MAAM,IAAIb,WAAW,CAACa,MAAM,CAACD,EAAE,KAAKA,EAAG,CAAC;AAAA;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACAd,UAAU,CAACgB,gBAAgB,GAAG,UAACd,WAAgB,EAAEY,EAAU;EAAA,OACzDZ,WAAW,IACXA,WAAW,CAACe,eAAe,IAC3Bf,WAAW,CAACe,eAAe,CAACC,IAAI,CAC9B,UAACC,IAAI;IAAA,OAAKA,IAAI,CAACL,EAAE,KAAKA,EAAE,IAAKK,IAAI,CAACJ,MAAM,IAAII,IAAI,CAACJ,MAAM,CAACD,EAAE,KAAKA,EAAG;EAAA,EACnE;AAAA;;AAEH;AACA;AACA;AACA;AACA;AACA;AACAd,UAAU,CAACoB,aAAa,GAAG,UAAClB,WAAgB,EAAEK,OAAgB,EAAEc,MAAc;EAAA,OAC5EnB,WAAW,IACXA,WAAW,CAACM,KAAK,KACfN,WAAW,CAACoB,OAAO,IACnBpB,WAAW,CAACoB,OAAO,CAAC,CAAC,CAAC,IACtBpB,WAAW,CAACoB,OAAO,CAAC,CAAC,CAAC,CAACC,MAAM,IAC7BrB,WAAW,CAACoB,OAAO,CAAC,CAAC,CAAC,CAACC,MAAM,CAACpB,IAAI,KAAKqB,iBAAM;EAC7C;EACAjB,OAAO,IACPc,MAAM,KAAKI,qBAAU;EACrB;EACA,CAACJ,MAAM,KAAKK,uBAAY,CAAC;AAAA;;AAE7B;AACA;AACA;AACA;AACA1B,UAAU,CAAC2B,YAAY,GAAG,UAACzB,WAAgB,EAAK;EAC9C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0B,kBAAc,CAAC,yDAAyD,CAAC;EACrF;EACA,IAAMC,WAAW,GAAG7B,UAAU,CAAC8B,OAAO,CAAC5B,WAAW,CAACmB,MAAM,EAAEU,uBAAY,CAAC;EAExE,IAAI7B,WAAW,CAAC8B,QAAQ,IAAI9B,WAAW,CAAC8B,QAAQ,CAACC,KAAK,EAAE;IACtD,IAAI/B,WAAW,CAAC8B,QAAQ,CAACC,KAAK,CAACC,KAAK,EAAE;MACpC,OAAO,IAAI;IACb;IACA,IAAIL,WAAW,EAAE;MACf,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA7B,UAAU,CAACmC,YAAY,GAAG,UAACjC,WAAgB,EAAK;EAC9C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0B,kBAAc,CAAC,yDAAyD,CAAC;EACrF;EAEA,OAAO5B,UAAU,CAAC8B,OAAO,CAAC5B,WAAW,CAACmB,MAAM,EAAEe,uBAAY,CAAC;AAC7D,CAAC;;AAED;AACA;AACA;AACA;AACApC,UAAU,CAACqC,YAAY,GAAG,UAACnC,WAAgB,EAAK;EAAA,IAAAoC,qBAAA,EAAAC,sBAAA;EAC9C,IAAI,CAACrC,WAAW,EAAE;IAChB,MAAM,IAAI0B,kBAAc,CAAC,8DAA8D,CAAC;EAC1F;EAEA,OAAO,EAAAU,qBAAA,GAAApC,WAAW,CAAC8B,QAAQ,cAAAM,qBAAA,wBAAAC,sBAAA,GAApBD,qBAAA,CAAsBE,IAAI,cAAAD,sBAAA,uBAA1BA,sBAAA,CAA4BE,MAAM,KAAI,KAAK;AACpD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAzC,UAAU,CAAC8B,OAAO,GAAG,UAACT,MAAc,EAAEqB,QAAgB,EAAK;EACzD,IAAIrB,MAAM,EAAE;IACV,IAAIA,MAAM,CAACqB,QAAQ,CAAC,KAAKC,yBAAc,EAAE;MACvC,OAAO,IAAI;IACb;IACA,IAAItB,MAAM,CAACqB,QAAQ,CAAC,KAAKE,yBAAc,EAAE;MACvC,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA5C,UAAU,CAAC6C,kBAAkB,GAAG,UAACb,QAAa,EAAK;EACjD,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EACA,IAAIA,QAAQ,CAACc,MAAM,IAAId,QAAQ,CAACc,MAAM,CAACC,SAAS,IAAIf,QAAQ,CAACc,MAAM,CAACE,IAAI,EAAE;IACxE,OAAOhB,QAAQ,CAACc,MAAM,CAACE,IAAI,CAACC,UAAU;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACAjD,UAAU,CAACkD,WAAW,GAAG,UAAChD,WAAgB,EAAK;EAC7C,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0B,kBAAc,CAAC,6DAA6D,CAAC;EACzF;EACA,IAAI1B,WAAW,CAAC8B,QAAQ,IAAI9B,WAAW,CAAC8B,QAAQ,CAACmB,WAAW,EAAE;IAC5D,OAAOjD,WAAW,CAAC8B,QAAQ,CAACmB,WAAW,CAACJ,SAAS;EACnD;EAEA,OAAO,KAAK;AACd,CAAC;AAED/C,UAAU,CAACoD,WAAW,GAAG,UAACC,MAAM,EAAE9C,OAAO,EAAE+C,WAAW,EAAEnD,IAAI,EAAK;EAC/D,IAAII,OAAO,IAAI8C,MAAM,EAAE;IACrB,OAAO,KAAK;EACd;EACA,IAAIlD,IAAI,KAAKoD,iBAAM,EAAE;IACnB,OAAO,KAAK;EACd;EACA,IAAID,WAAW,EAAE;IACf,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDtD,UAAU,CAACwD,SAAS,GAAG,UAACH,MAAM,EAAE5C,QAAQ,EAAE6C,WAAW,EAAExB,OAAO,EAAE3B,IAAI,EAAK;EACvE,IAAI,CAACmD,WAAW,EAAE;IAChB,OAAO,KAAK;EACd;EACA,IAAIxB,OAAO,EAAE;IACX,OAAO,KAAK;EACd;EACA,IAAI3B,IAAI,KAAKoD,iBAAM,EAAE;IACnB,OAAO,KAAK;EACd;EACA,IAAIF,MAAM,IAAI5C,QAAQ,EAAE;IACtB,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACAT,UAAU,CAACyD,aAAa,GAAG,UAACvD,WAAgB,EAAK;EAC/C,IAAI,EAAEA,WAAW,IAAIA,WAAW,CAACoB,OAAO,IAAIpB,WAAW,CAACoB,OAAO,CAACoC,MAAM,CAAC,EAAE;IACvE,OAAOC,2BAAgB;EACzB;EACA,IAAIzD,WAAW,CAAC0D,KAAK,KAAKC,mBAAQ,EAAE;IAClC,OAAOnC,uBAAY;EACrB;EACA,IAAIxB,WAAW,CAAC0D,KAAK,KAAKE,iBAAM,EAAE;IAChC,IAAI5D,WAAW,CAACoB,OAAO,IAAIpB,WAAW,CAACoB,OAAO,CAACoC,MAAM,GAAG,CAAC,EAAE;MACzD,IAAMK,WAAW,GAAG7D,WAAW,CAACoB,OAAO,CAAC0C,IAAI,CAC1C,UAACC,MAAM;QAAA,OACLA,MAAM,CAAC1C,MAAM,KAAK0C,MAAM,CAAC1C,MAAM,CAACpB,IAAI,KAAKqB,iBAAM,IAAIyC,MAAM,CAAC1C,MAAM,CAACpB,IAAI,KAAK+D,oBAAS,CAAC;MAAA,EACvF;MAED,OAAOH,WAAW,GAAGtC,qBAAU,GAAGkC,2BAAgB;IACpD;IAEA,OAAOA,2BAAgB;EACzB;EACA,IAAIzD,WAAW,CAAC0D,KAAK,KAAKO,iBAAM,EAAE;IAChC,OAAOR,2BAAgB;EACzB;EAEA,OAAOA,2BAAgB;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA3D,UAAU,CAACoE,SAAS,GAAG,UAAClE,WAAgB,EAAK;EAC3C,IAAIA,WAAW,EAAE;IACf,OAAOA,WAAW,CAACY,EAAE;EACvB;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAd,UAAU,CAACqE,kBAAkB,GAAG,UAACnE,WAAgB,EAAmB;EAClE,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI0B,kBAAc,CAAC,gEAAgE,CAAC;EAC5F;EAEA,OAAO;IACLK,KAAK,EAAE/B,WAAW,CAACmB,MAAM,CAACiD,WAAW;IACrCC,KAAK,EAAErE,WAAW,CAACmB,MAAM,CAACmD;EAC5B,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACAxE,UAAU,CAACyE,WAAW,GAAG,UAACvE,WAAgB,EAAK;EAC7C,IAAIA,WAAW,IAAIA,WAAW,CAACa,MAAM,EAAE;IACrC,OAAOb,WAAW,CAACa,MAAM,CAAC2D,IAAI;EAChC;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,IAAAC,QAAA,GAEa3E,UAAU;AAAA4E,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
1
|
+
{"version":3,"names":["_constants","require","_parameter","_interopRequireDefault","MemberUtil","canReclaimHost","participant","ParameterError","canReclaimHostRole","isUser","type","_USER_","isModerator","moderator","isGuest","guest","isDevice","_RESOURCE_ROOM_","isModeratorAssignmentProhibited","moderatorAssignmentNotAllowed","isSame","id","person","isAssociatedSame","associatedUsers","some","user","isNotAdmitted","status","devices","intent","_WAIT_","_IN_LOBBY_","_IN_MEETING_","isAudioMuted","mutedStatus","isMuted","AUDIO_STATUS","controls","audio","muted","isVideoMuted","VIDEO_STATUS","isHandRaised","_participant$controls","_participant$controls2","hand","raised","accessor","_RECEIVE_ONLY_","_SEND_RECEIVE_","getRecordingMember","record","recording","meta","modifiedBy","isRecording","localRecord","isRemovable","isSelf","isInMeeting","_CALL_","isMutable","extractStatus","length","_NOT_IN_MEETING_","state","_JOINED_","_IDLE_","foundDevice","find","device","_OBSERVE_","_LEFT_","extractId","extractMediaStatus","audioStatus","video","videoStatus","extractName","name","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["import {\n _USER_,\n _RESOURCE_ROOM_,\n _OBSERVE_,\n _WAIT_,\n _LEFT_,\n _JOINED_,\n _IDLE_,\n _IN_LOBBY_,\n _NOT_IN_MEETING_,\n _IN_MEETING_,\n AUDIO_STATUS,\n VIDEO_STATUS,\n _SEND_RECEIVE_,\n _RECEIVE_ONLY_,\n _CALL_,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport {IMediaStatus} from './member.types';\n\nconst MemberUtil: any = {};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.canReclaimHost = (participant) => {\n if (!participant) {\n throw new ParameterError(\n 'canReclaimHostRole could not be processed, participant is undefined.'\n );\n }\n\n return participant.canReclaimHostRole || false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isUser = (participant: any) => participant && participant.type === _USER_;\n\nMemberUtil.isModerator = (participant) => participant && participant.moderator;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isGuest = (participant: any) => participant && participant.guest;\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isDevice = (participant: any) => participant && participant.type === _RESOURCE_ROOM_;\n\nMemberUtil.isModeratorAssignmentProhibited = (participant) =>\n participant && participant.moderatorAssignmentNotAllowed;\n\n/**\n * checks to see if the participant id is the same as the passed id\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isSame = (participant: any, id: string) =>\n participant && (participant.id === id || (participant.person && participant.person.id === id));\n\n/**\n * checks to see if the participant id is the same as the passed id for associated devices\n * there are multiple ids that can be used\n * @param {Object} participant the locus participant\n * @param {String} id\n * @returns {Boolean}\n */\nMemberUtil.isAssociatedSame = (participant: any, id: string) =>\n participant &&\n participant.associatedUsers &&\n participant.associatedUsers.some(\n (user) => user.id === id || (user.person && user.person.id === id)\n );\n\n/**\n * @param {Object} participant the locus participant\n * @param {Boolean} isGuest\n * @param {String} status\n * @returns {Boolean}\n */\nMemberUtil.isNotAdmitted = (participant: any, isGuest: boolean, status: string): boolean =>\n participant &&\n participant.guest &&\n ((participant.devices &&\n participant.devices[0] &&\n participant.devices[0].intent &&\n participant.devices[0].intent.type === _WAIT_ &&\n // @ts-ignore\n isGuest &&\n status === _IN_LOBBY_) ||\n // @ts-ignore\n !status === _IN_MEETING_);\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isAudioMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Audio could not be processed, participant is undefined.');\n }\n const mutedStatus = MemberUtil.isMuted(participant.status, AUDIO_STATUS);\n\n if (participant.controls && participant.controls.audio) {\n if (participant.controls.audio.muted) {\n return true;\n }\n if (mutedStatus) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isVideoMuted = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Video could not be processed, participant is undefined.');\n }\n\n return MemberUtil.isMuted(participant.status, VIDEO_STATUS);\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isHandRaised = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Raise hand could not be processed, participant is undefined.');\n }\n\n return participant.controls?.hand?.raised || false;\n};\n\n/**\n * utility method for audio/video muted status\n * @param {String} status\n * @param {String} accessor\n * @returns {Boolean}\n */\nMemberUtil.isMuted = (status: string, accessor: string) => {\n if (status) {\n if (status[accessor] === _RECEIVE_ONLY_) {\n return true;\n }\n if (status[accessor] === _SEND_RECEIVE_) {\n return false;\n }\n }\n\n return null;\n};\n\n/**\n * utility method for getting the recording member for later comparison\n * @param {Object} controls\n * @returns {String|null}\n */\nMemberUtil.getRecordingMember = (controls: any) => {\n if (!controls) {\n return null;\n }\n if (controls.record && controls.record.recording && controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {Boolean}\n */\nMemberUtil.isRecording = (participant: any) => {\n if (!participant) {\n throw new ParameterError('Recording could not be processed, participant is undefined.');\n }\n if (participant.controls && participant.controls.localRecord) {\n return participant.controls.localRecord.recording;\n }\n\n return false;\n};\n\nMemberUtil.isRemovable = (isSelf, isGuest, isInMeeting, type) => {\n if (isGuest || isSelf) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isInMeeting) {\n return true;\n }\n\n return false;\n};\n\nMemberUtil.isMutable = (isSelf, isDevice, isInMeeting, isMuted, type) => {\n if (!isInMeeting) {\n return false;\n }\n if (isMuted) {\n return false;\n }\n if (type === _CALL_) {\n return false;\n }\n if (isSelf || isDevice) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractStatus = (participant: any) => {\n if (!(participant && participant.devices && participant.devices.length)) {\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _JOINED_) {\n return _IN_MEETING_;\n }\n if (participant.state === _IDLE_) {\n if (participant.devices && participant.devices.length > 0) {\n const foundDevice = participant.devices.find(\n (device) =>\n device.intent && (device.intent.type === _WAIT_ || device.intent.type === _OBSERVE_)\n );\n\n return foundDevice ? _IN_LOBBY_ : _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n }\n if (participant.state === _LEFT_) {\n return _NOT_IN_MEETING_;\n }\n\n return _NOT_IN_MEETING_;\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractId = (participant: any) => {\n if (participant) {\n return participant.id;\n }\n\n return null;\n};\n\n/**\n * extracts the media status from nested participant object\n * @param {Object} participant the locus participant\n * @returns {Object}\n */\nMemberUtil.extractMediaStatus = (participant: any): IMediaStatus => {\n if (!participant) {\n throw new ParameterError('Media status could not be extracted, participant is undefined.');\n }\n\n return {\n audio: participant.status.audioStatus,\n video: participant.status.videoStatus,\n };\n};\n\n/**\n * @param {Object} participant the locus participant\n * @returns {String}\n */\nMemberUtil.extractName = (participant: any) => {\n if (participant && participant.person) {\n return participant.person.name;\n }\n\n return null;\n};\n\nexport default MemberUtil;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class MembersCollection
|
|
3
|
+
*/
|
|
4
|
+
export default class MembersCollection {
|
|
5
|
+
members: any;
|
|
6
|
+
namespace: string;
|
|
7
|
+
/**
|
|
8
|
+
* @param {Object} locus
|
|
9
|
+
* @memberof Members
|
|
10
|
+
*/
|
|
11
|
+
constructor();
|
|
12
|
+
set(id: any, member: any): void;
|
|
13
|
+
setAll(members: any): void;
|
|
14
|
+
/**
|
|
15
|
+
* @param {String} id
|
|
16
|
+
* @returns {Member}
|
|
17
|
+
*/
|
|
18
|
+
get(id: string): any;
|
|
19
|
+
/**
|
|
20
|
+
* @returns {Object} returns an object map of Member instances
|
|
21
|
+
* @memberof MembersCollection
|
|
22
|
+
*/
|
|
23
|
+
getAll(): any;
|
|
24
|
+
}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { ServerRoleShape } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Members Update Event
|
|
5
|
+
* Emitted when something in the roster list needs to be updated
|
|
6
|
+
* @event members:update
|
|
7
|
+
* @instance
|
|
8
|
+
* @property {Object} delta the changes to the members list
|
|
9
|
+
* @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
|
|
10
|
+
* @property {Array} delta.added array added members to the meeting
|
|
11
|
+
* @property {Array} full array the full members collection
|
|
12
|
+
* @memberof Members
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Members Content Update Event
|
|
16
|
+
* Emitted when who is sharing changes
|
|
17
|
+
* @event members:content:update
|
|
18
|
+
* @instance
|
|
19
|
+
* @property {String} activeContentSharingId
|
|
20
|
+
* @property {String} endedContentSharingId
|
|
21
|
+
* @memberof Members
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Members Host Update Event
|
|
25
|
+
* Emitted when who is the host changes
|
|
26
|
+
* @event members:host:update
|
|
27
|
+
* @instance
|
|
28
|
+
* @property {String} activeHostId
|
|
29
|
+
* @property {String} endedHostId
|
|
30
|
+
* @memberof Members
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Members Self Update Event
|
|
34
|
+
* Emitted when who is the self changes
|
|
35
|
+
* @event members:self:update
|
|
36
|
+
* @instance
|
|
37
|
+
* @property {String} activeSelfId
|
|
38
|
+
* @property {String} endedSelfId
|
|
39
|
+
* @memberof Members
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* @class Members
|
|
43
|
+
*/
|
|
44
|
+
export default class Members extends StatelessWebexPlugin {
|
|
45
|
+
hostId: any;
|
|
46
|
+
locusUrl: any;
|
|
47
|
+
mediaShareContentId: any;
|
|
48
|
+
mediaShareWhiteboardId: any;
|
|
49
|
+
membersCollection: any;
|
|
50
|
+
membersRequest: any;
|
|
51
|
+
recordingId: any;
|
|
52
|
+
selfId: any;
|
|
53
|
+
type: any;
|
|
54
|
+
namespace: string;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param {Object} attrs
|
|
58
|
+
* @param {Object} options
|
|
59
|
+
* @memberof Members
|
|
60
|
+
*/
|
|
61
|
+
constructor(attrs: any, options: object);
|
|
62
|
+
/**
|
|
63
|
+
* Internal update the self Id value
|
|
64
|
+
* @param {Object} payload
|
|
65
|
+
* @param {Object} payload.newSelf
|
|
66
|
+
* @param {Object} payload.oldSelf
|
|
67
|
+
* @returns {undefined}
|
|
68
|
+
* @private
|
|
69
|
+
* @memberof Members
|
|
70
|
+
*/
|
|
71
|
+
locusSelfUpdate(payload: {
|
|
72
|
+
newSelf: any;
|
|
73
|
+
oldSelf: any;
|
|
74
|
+
}): void;
|
|
75
|
+
/**
|
|
76
|
+
* Internal update the hostId value
|
|
77
|
+
* @param {Object} payload
|
|
78
|
+
* @param {Object} payload.newHost
|
|
79
|
+
* @param {Object} payload.oldHost
|
|
80
|
+
* @returns {undefined}
|
|
81
|
+
* @private
|
|
82
|
+
* @memberof Members
|
|
83
|
+
*/
|
|
84
|
+
locusHostUpdate(payload: {
|
|
85
|
+
newHost: any;
|
|
86
|
+
oldHost: any;
|
|
87
|
+
}): void;
|
|
88
|
+
/**
|
|
89
|
+
* when new participant updates come in, both delta and full participants, update them in members collection
|
|
90
|
+
* delta object in the event will have {updated, added} and full will be the full membersCollection
|
|
91
|
+
* @param {Object} payload
|
|
92
|
+
* @param {Object} payload.participants
|
|
93
|
+
* @returns {undefined}
|
|
94
|
+
* @private
|
|
95
|
+
* @memberof Members
|
|
96
|
+
*/
|
|
97
|
+
locusParticipantsUpdate(payload: {
|
|
98
|
+
participants: object;
|
|
99
|
+
}): void;
|
|
100
|
+
/**
|
|
101
|
+
* Internal update the content id
|
|
102
|
+
* @param {Object} payload
|
|
103
|
+
* @param {Object} payload.current
|
|
104
|
+
* @param {Object} payload.previous
|
|
105
|
+
* @returns {undefined}
|
|
106
|
+
* @private
|
|
107
|
+
* @memberof Members
|
|
108
|
+
*/
|
|
109
|
+
locusMediaSharesUpdate(payload: {
|
|
110
|
+
current: any;
|
|
111
|
+
previous: any;
|
|
112
|
+
}): void;
|
|
113
|
+
/**
|
|
114
|
+
* Internal update the locus url value
|
|
115
|
+
* @param {Object} payload
|
|
116
|
+
* @param {String} payload.locusUrl
|
|
117
|
+
* @returns {undefined}
|
|
118
|
+
* @private
|
|
119
|
+
* @memberof Members
|
|
120
|
+
*/
|
|
121
|
+
locusUrlUpdate(payload: any): void;
|
|
122
|
+
/**
|
|
123
|
+
* Internal update the type of meeting
|
|
124
|
+
* @param {Object} payload
|
|
125
|
+
* @param {String} payload.type
|
|
126
|
+
* @returns {undefined}
|
|
127
|
+
* @private
|
|
128
|
+
* @memberof Members
|
|
129
|
+
*/
|
|
130
|
+
locusFullStateTypeUpdate(payload: {
|
|
131
|
+
type: string;
|
|
132
|
+
}): void;
|
|
133
|
+
/**
|
|
134
|
+
* sets values in the members collection for updated and added properties from delta
|
|
135
|
+
* @param {Object} membersUpdate {updated: [], added: []}
|
|
136
|
+
* @returns {Object} membersCollection
|
|
137
|
+
* @private
|
|
138
|
+
* @memberof Members
|
|
139
|
+
*/
|
|
140
|
+
private handleMembersUpdate;
|
|
141
|
+
/**
|
|
142
|
+
* set members to the member collection from each updated/added lists as passed in
|
|
143
|
+
* @param {Array} list
|
|
144
|
+
* @returns {undefined}
|
|
145
|
+
* @private
|
|
146
|
+
* @memberof Members
|
|
147
|
+
*/
|
|
148
|
+
private constructMembers;
|
|
149
|
+
/**
|
|
150
|
+
* Internal update the participants value
|
|
151
|
+
* @param {Object} payload
|
|
152
|
+
* @returns {Object}
|
|
153
|
+
* @private
|
|
154
|
+
* @memberof Members
|
|
155
|
+
*/
|
|
156
|
+
private handleLocusInfoUpdatedParticipants;
|
|
157
|
+
/**
|
|
158
|
+
* Update the locus Url
|
|
159
|
+
* @param {Object} locus
|
|
160
|
+
* @param {String} [locusUrl] optional, takes precedence
|
|
161
|
+
* @throws {ParameterError}
|
|
162
|
+
* @returns {undefined}
|
|
163
|
+
* @public
|
|
164
|
+
* @memberof Members
|
|
165
|
+
*/
|
|
166
|
+
setLocusUrl(locus: any, locusUrl?: string): void;
|
|
167
|
+
/**
|
|
168
|
+
* Update the host id
|
|
169
|
+
* @param {Object} locus
|
|
170
|
+
* @param {String} [hostId] optional, takes precedence
|
|
171
|
+
* @throws {ParameterError}
|
|
172
|
+
* @returns {undefined}
|
|
173
|
+
* @public
|
|
174
|
+
* @memberof Members
|
|
175
|
+
*/
|
|
176
|
+
setHostId(locus: any, hostId?: string): void;
|
|
177
|
+
/**
|
|
178
|
+
* Update the type
|
|
179
|
+
* @param {Object} fullState
|
|
180
|
+
* @param {String} [type] optional, takes precedence
|
|
181
|
+
* @throws {ParameterError}
|
|
182
|
+
* @returns {undefined}
|
|
183
|
+
* @public
|
|
184
|
+
* @memberof Members
|
|
185
|
+
*/
|
|
186
|
+
setType(fullState: any, type?: string): void;
|
|
187
|
+
/**
|
|
188
|
+
* Update the self Id
|
|
189
|
+
* @param {Object} locus
|
|
190
|
+
* @param {String} [selfId] optional, takes precedence
|
|
191
|
+
* @throws {Error}
|
|
192
|
+
* @returns {undefined}
|
|
193
|
+
* @memberof Members
|
|
194
|
+
*/
|
|
195
|
+
setSelfId(locus: any, selfId?: string): void;
|
|
196
|
+
/**
|
|
197
|
+
* Update the media share content id
|
|
198
|
+
* @param {Object} locus
|
|
199
|
+
* @param {String} [contentId] optional, takes precedence
|
|
200
|
+
* @throws {Error}
|
|
201
|
+
* @returns {undefined}
|
|
202
|
+
* @memberof Members
|
|
203
|
+
*/
|
|
204
|
+
setMediaShareContentId(locus: any, contentId?: string): void;
|
|
205
|
+
/**
|
|
206
|
+
* Update the media share whiteboard id
|
|
207
|
+
* @param {Object} locus
|
|
208
|
+
* @param {String} [whiteboardId] optional, takes precedence
|
|
209
|
+
* @throws {Error}
|
|
210
|
+
* @returns {undefined}
|
|
211
|
+
* @memberof Members
|
|
212
|
+
*/
|
|
213
|
+
setMediaShareWhiteboardId(locus: any, whiteboardId?: string): void;
|
|
214
|
+
/**
|
|
215
|
+
* Find all the updates, and added members
|
|
216
|
+
* Removed/left members will end up in updates
|
|
217
|
+
* Each array contains only members
|
|
218
|
+
* @param {Array} participants the locus participants
|
|
219
|
+
* @returns {Object} {added: {Array}, updated: {Array}}
|
|
220
|
+
* @private
|
|
221
|
+
* @memberof Members
|
|
222
|
+
*/
|
|
223
|
+
private update;
|
|
224
|
+
/**
|
|
225
|
+
* Adds a guest Member to the associated meeting
|
|
226
|
+
* @param {String} invitee
|
|
227
|
+
* @param {Boolean} [alertIfActive]
|
|
228
|
+
* @returns {Promise}
|
|
229
|
+
* @memberof Members
|
|
230
|
+
*/
|
|
231
|
+
addMember(invitee: any, alertIfActive?: boolean): any;
|
|
232
|
+
/**
|
|
233
|
+
* Assign role(s) to a member in the meeting
|
|
234
|
+
* @param {String} memberId
|
|
235
|
+
* @param {[ServerRoleShape]} roles - to assign an array of roles
|
|
236
|
+
* @returns {Promise}
|
|
237
|
+
* @public
|
|
238
|
+
* @memberof Members
|
|
239
|
+
*/
|
|
240
|
+
assignRoles(memberId: string, roles: Array<ServerRoleShape>): any;
|
|
241
|
+
/**
|
|
242
|
+
* Cancels an outgoing PSTN call to the associated meeting
|
|
243
|
+
* @param {String} invitee
|
|
244
|
+
* @returns {Promise}
|
|
245
|
+
* @memberof Members
|
|
246
|
+
*/
|
|
247
|
+
cancelPhoneInvite(invitee: any): any;
|
|
248
|
+
/**
|
|
249
|
+
* Admits waiting members (invited guests to meeting)
|
|
250
|
+
* @param {Array} memberIds
|
|
251
|
+
* @returns {Promise}
|
|
252
|
+
* @public
|
|
253
|
+
* @memberof Members
|
|
254
|
+
*/
|
|
255
|
+
admitMembers(memberIds: Array<any>): any;
|
|
256
|
+
/**
|
|
257
|
+
* Removes a member from the meeting
|
|
258
|
+
* @param {String} memberId
|
|
259
|
+
* @returns {Promise}
|
|
260
|
+
* @public
|
|
261
|
+
* @memberof Members
|
|
262
|
+
*/
|
|
263
|
+
removeMember(memberId: string): any;
|
|
264
|
+
/**
|
|
265
|
+
* Audio mutes another member in a meeting
|
|
266
|
+
* @param {String} memberId
|
|
267
|
+
* @param {boolean} [mute] default true
|
|
268
|
+
* @returns {Promise}
|
|
269
|
+
* @public
|
|
270
|
+
* @memberof Members
|
|
271
|
+
*/
|
|
272
|
+
muteMember(memberId: string, mute?: boolean): any;
|
|
273
|
+
/**
|
|
274
|
+
* Raise or lower the hand of a member in a meeting
|
|
275
|
+
* @param {String} memberId
|
|
276
|
+
* @param {boolean} [raise] - to raise hand (=true) or lower (=false), default: true
|
|
277
|
+
* @returns {Promise}
|
|
278
|
+
* @public
|
|
279
|
+
* @memberof Members
|
|
280
|
+
*/
|
|
281
|
+
raiseOrLowerHand(memberId: string, raise?: boolean): any;
|
|
282
|
+
/**
|
|
283
|
+
* Lower all hands of members in a meeting
|
|
284
|
+
* @param {String} requestingMemberId - id of the participant which requested the lower all hands
|
|
285
|
+
* @returns {Promise}
|
|
286
|
+
* @public
|
|
287
|
+
* @memberof Members
|
|
288
|
+
*/
|
|
289
|
+
lowerAllHands(requestingMemberId: string): any;
|
|
290
|
+
/**
|
|
291
|
+
* Transfers the host to another member
|
|
292
|
+
* @param {String} memberId
|
|
293
|
+
* @param {boolean} [moderator] default true
|
|
294
|
+
* @returns {Promise}
|
|
295
|
+
* @public
|
|
296
|
+
* @memberof Members
|
|
297
|
+
*/
|
|
298
|
+
transferHostToMember(memberId: string, moderator?: boolean): any;
|
|
299
|
+
/**
|
|
300
|
+
* Sends DTMF tones for the PSTN member of a meeting
|
|
301
|
+
* @param {String} tones a string of one or more DTMF tones to send
|
|
302
|
+
* @param {String} memberId member id
|
|
303
|
+
* @returns {Promise}
|
|
304
|
+
* @public
|
|
305
|
+
* @memberof Members
|
|
306
|
+
*/
|
|
307
|
+
sendDialPadKey(tones?: string, memberId?: string): any;
|
|
308
|
+
}
|
package/dist/members/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
15
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
17
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
18
|
-
var
|
|
18
|
+
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
19
19
|
var _webexCore = require("@webex/webex-core");
|
|
20
20
|
var _constants = require("../constants");
|
|
21
21
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
@@ -25,6 +25,7 @@ var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
|
25
25
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
26
26
|
var _request = _interopRequireDefault(require("./request"));
|
|
27
27
|
var _util = _interopRequireDefault(require("./util"));
|
|
28
|
+
var _reclaimHostRoleError = require("../common/errors/reclaim-host-role-error");
|
|
28
29
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
29
30
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
30
31
|
/**
|
|
@@ -654,6 +655,42 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
654
655
|
return this.membersRequest.addMembers(options);
|
|
655
656
|
}
|
|
656
657
|
|
|
658
|
+
/**
|
|
659
|
+
* Assign role(s) to a member in the meeting
|
|
660
|
+
* @param {String} memberId
|
|
661
|
+
* @param {[ServerRoleShape]} roles - to assign an array of roles
|
|
662
|
+
* @returns {Promise}
|
|
663
|
+
* @public
|
|
664
|
+
* @memberof Members
|
|
665
|
+
*/
|
|
666
|
+
}, {
|
|
667
|
+
key: "assignRoles",
|
|
668
|
+
value: function assignRoles(memberId, roles) {
|
|
669
|
+
if (!this.locusUrl) {
|
|
670
|
+
return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
|
|
671
|
+
}
|
|
672
|
+
if (!memberId) {
|
|
673
|
+
return _promise.default.reject(new _parameter.default('The member id must be defined to assign the roles to a member.'));
|
|
674
|
+
}
|
|
675
|
+
var options = _util.default.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
|
|
676
|
+
return this.membersRequest.assignRolesMember(options).catch(function (error) {
|
|
677
|
+
var _error$body;
|
|
678
|
+
var errorCode = (_error$body = error.body) === null || _error$body === void 0 ? void 0 : _error$body.errorCode;
|
|
679
|
+
switch (errorCode) {
|
|
680
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotSupportedErrorCode:
|
|
681
|
+
return _promise.default.reject(new _reclaimHostRoleError.ReclaimHostNotSupportedError());
|
|
682
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotAllowedErrorCode:
|
|
683
|
+
return _promise.default.reject(new _reclaimHostRoleError.ReclaimHostNotAllowedError());
|
|
684
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostEmptyWrongKeyErrorCode:
|
|
685
|
+
return _promise.default.reject(new _reclaimHostRoleError.ReclaimHostEmptyWrongKeyError());
|
|
686
|
+
case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostIsHostAlreadyErrorCode:
|
|
687
|
+
return _promise.default.reject(new _reclaimHostRoleError.ReclaimHostIsHostAlreadyError());
|
|
688
|
+
default:
|
|
689
|
+
return _promise.default.reject(error);
|
|
690
|
+
}
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
|
|
657
694
|
/**
|
|
658
695
|
* Cancels an outgoing PSTN call to the associated meeting
|
|
659
696
|
* @param {String} invitee
|
|
@@ -683,7 +720,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
683
720
|
}, {
|
|
684
721
|
key: "admitMembers",
|
|
685
722
|
value: function admitMembers(memberIds) {
|
|
686
|
-
if ((0,
|
|
723
|
+
if ((0, _isEmpty2.default)(memberIds)) {
|
|
687
724
|
return _promise.default.reject(new _parameter.default('No member ids provided to admit.'));
|
|
688
725
|
}
|
|
689
726
|
var options = _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl);
|