@webex/plugin-meetings 3.0.0-beta.180 → 3.0.0-beta.181
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 +1 -1
- package/dist/controls-options-manager/util.js +19 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +12 -0
- package/dist/meeting/index.js.map +1 -1
- package/package.json +19 -19
- package/src/controls-options-manager/util.ts +14 -0
- package/src/meeting/index.ts +37 -16
- package/test/unit/spec/controls-options-manager/util.js +576 -512
- package/test/unit/spec/meeting/index.js +106 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.181",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
6
|
"contributors": [
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@webex/plugin-meetings": "3.0.0-beta.
|
|
36
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
37
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
38
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
39
|
-
"@webex/test-helper-retry": "3.0.0-beta.
|
|
40
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
35
|
+
"@webex/plugin-meetings": "3.0.0-beta.181",
|
|
36
|
+
"@webex/test-helper-chai": "3.0.0-beta.181",
|
|
37
|
+
"@webex/test-helper-mocha": "3.0.0-beta.181",
|
|
38
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.181",
|
|
39
|
+
"@webex/test-helper-retry": "3.0.0-beta.181",
|
|
40
|
+
"@webex/test-helper-test-users": "3.0.0-beta.181",
|
|
41
41
|
"chai": "^4.3.4",
|
|
42
42
|
"chai-as-promised": "^7.1.1",
|
|
43
43
|
"jsdom-global": "3.0.2",
|
|
@@ -46,19 +46,19 @@
|
|
|
46
46
|
"typescript": "^4.7.4"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@webex/common": "3.0.0-beta.
|
|
49
|
+
"@webex/common": "3.0.0-beta.181",
|
|
50
50
|
"@webex/internal-media-core": "1.39.1",
|
|
51
|
-
"@webex/internal-plugin-conversation": "3.0.0-beta.
|
|
52
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
53
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
54
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
55
|
-
"@webex/internal-plugin-metrics": "3.0.0-beta.
|
|
56
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
57
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
58
|
-
"@webex/media-helpers": "3.0.0-beta.
|
|
59
|
-
"@webex/plugin-people": "3.0.0-beta.
|
|
60
|
-
"@webex/plugin-rooms": "3.0.0-beta.
|
|
61
|
-
"@webex/webex-core": "3.0.0-beta.
|
|
51
|
+
"@webex/internal-plugin-conversation": "3.0.0-beta.181",
|
|
52
|
+
"@webex/internal-plugin-device": "3.0.0-beta.181",
|
|
53
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.181",
|
|
54
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.181",
|
|
55
|
+
"@webex/internal-plugin-metrics": "3.0.0-beta.181",
|
|
56
|
+
"@webex/internal-plugin-support": "3.0.0-beta.181",
|
|
57
|
+
"@webex/internal-plugin-user": "3.0.0-beta.181",
|
|
58
|
+
"@webex/media-helpers": "3.0.0-beta.181",
|
|
59
|
+
"@webex/plugin-people": "3.0.0-beta.181",
|
|
60
|
+
"@webex/plugin-rooms": "3.0.0-beta.181",
|
|
61
|
+
"@webex/webex-core": "3.0.0-beta.181",
|
|
62
62
|
"ampersand-collection": "^2.0.2",
|
|
63
63
|
"bowser": "^2.11.0",
|
|
64
64
|
"btoa": "^1.2.1",
|
|
@@ -89,6 +89,20 @@ class Utils {
|
|
|
89
89
|
return requiredHints.every((hint) => displayHints.includes(hint));
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
/**
|
|
93
|
+
* Validate that the self policy object contains the required policies.
|
|
94
|
+
*
|
|
95
|
+
* @param {Object} config - Configuration Object.
|
|
96
|
+
* @param {Array<string>} config.requiredPolicies - Policies required for validation.
|
|
97
|
+
* @param {Array<string>} config.policies - All available policies.
|
|
98
|
+
* @returns {boolean} - True if all of the actions are allowed.
|
|
99
|
+
*/
|
|
100
|
+
public static hasPolicies(config: {requiredPolicies: Array<string>; policies: Array<string>}) {
|
|
101
|
+
const {requiredPolicies, policies = {}} = config;
|
|
102
|
+
|
|
103
|
+
return requiredPolicies.every((hint) => policies[hint]);
|
|
104
|
+
}
|
|
105
|
+
|
|
92
106
|
/**
|
|
93
107
|
* Validate if an audio-scoped control is allowed to be sent to the service.
|
|
94
108
|
*
|
package/src/meeting/index.ts
CHANGED
|
@@ -90,6 +90,7 @@ import {
|
|
|
90
90
|
HTTP_VERBS,
|
|
91
91
|
SELF_ROLES,
|
|
92
92
|
INTERPRETATION,
|
|
93
|
+
SELF_POLICY,
|
|
93
94
|
} from '../constants';
|
|
94
95
|
import BEHAVIORAL_METRICS from '../metrics/constants';
|
|
95
96
|
import ParameterError from '../common/errors/parameter';
|
|
@@ -2585,22 +2586,42 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
2585
2586
|
requiredHints: [DISPLAY_HINTS.DISABLE_VIDEO],
|
|
2586
2587
|
displayHints: payload.info.userDisplayHints,
|
|
2587
2588
|
}),
|
|
2588
|
-
canShareFile:
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2589
|
+
canShareFile:
|
|
2590
|
+
ControlsOptionsUtil.hasHints({
|
|
2591
|
+
requiredHints: [DISPLAY_HINTS.SHARE_FILE],
|
|
2592
|
+
displayHints: payload.info.userDisplayHints,
|
|
2593
|
+
}) &&
|
|
2594
|
+
ControlsOptionsUtil.hasPolicies({
|
|
2595
|
+
requiredPolicies: [SELF_POLICY.SUPPORT_FILE_SHARE],
|
|
2596
|
+
policies: this.selfUserPolicies,
|
|
2597
|
+
}),
|
|
2598
|
+
canShareApplication:
|
|
2599
|
+
ControlsOptionsUtil.hasHints({
|
|
2600
|
+
requiredHints: [DISPLAY_HINTS.SHARE_APPLICATION],
|
|
2601
|
+
displayHints: payload.info.userDisplayHints,
|
|
2602
|
+
}) &&
|
|
2603
|
+
ControlsOptionsUtil.hasPolicies({
|
|
2604
|
+
requiredPolicies: [SELF_POLICY.SUPPORT_APP_SHARE],
|
|
2605
|
+
policies: this.selfUserPolicies,
|
|
2606
|
+
}),
|
|
2607
|
+
canShareCamera:
|
|
2608
|
+
ControlsOptionsUtil.hasHints({
|
|
2609
|
+
requiredHints: [DISPLAY_HINTS.SHARE_CAMERA],
|
|
2610
|
+
displayHints: payload.info.userDisplayHints,
|
|
2611
|
+
}) &&
|
|
2612
|
+
ControlsOptionsUtil.hasPolicies({
|
|
2613
|
+
requiredPolicies: [SELF_POLICY.SUPPORT_CAMERA_SHARE],
|
|
2614
|
+
policies: this.selfUserPolicies,
|
|
2615
|
+
}),
|
|
2616
|
+
canShareDesktop:
|
|
2617
|
+
ControlsOptionsUtil.hasHints({
|
|
2618
|
+
requiredHints: [DISPLAY_HINTS.SHARE_DESKTOP],
|
|
2619
|
+
displayHints: payload.info.userDisplayHints,
|
|
2620
|
+
}) &&
|
|
2621
|
+
ControlsOptionsUtil.hasPolicies({
|
|
2622
|
+
requiredPolicies: [SELF_POLICY.SUPPORT_DESKTOP_SHARE],
|
|
2623
|
+
policies: this.selfUserPolicies,
|
|
2624
|
+
}),
|
|
2604
2625
|
canShareContent: ControlsOptionsUtil.hasHints({
|
|
2605
2626
|
requiredHints: [DISPLAY_HINTS.SHARE_CONTENT],
|
|
2606
2627
|
displayHints: payload.info.userDisplayHints,
|