fcr-core 3.7.8 → 3.8.0-alpha
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/lib/chat-connection/index.d.ts +1 -1
- package/lib/engine/index.js +6 -5
- package/lib/imports.d.ts +7 -2
- package/lib/imports.js +25 -4
- package/lib/index.d.ts +2 -2
- package/lib/index.js +12 -0
- package/lib/media-control/desktop.js +4 -4
- package/lib/media-control/mobile.js +20 -20
- package/lib/media-control/type.d.ts +8 -0
- package/lib/plugins/chatroom.js +19 -3
- package/lib/room-control/ability-control/type.d.ts +4 -1
- package/lib/room-control/ability-control/type.js +3 -0
- package/lib/room-control/helpers/constants.d.ts +4 -0
- package/lib/room-control/helpers/constants.js +5 -1
- package/lib/room-control/index.js +16 -5
- package/lib/room-control/interpreter-control/index.js +2 -4
- package/lib/room-control/mainroom-control/index.js +66 -1
- package/lib/room-control/privilege-control/index.js +43 -3
- package/lib/room-control/privilege-control/type.d.ts +57 -10
- package/lib/room-control/privilege-control/type.js +17 -0
- package/lib/room-control/room-control-factory.js +1 -1
- package/lib/room-control/room-session/index.js +23 -13
- package/lib/room-control/room-session/type.d.ts +2 -2
- package/lib/room-control/sharing-control/index.d.ts +5 -5
- package/lib/room-control/sharing-control/index.js +43 -13
- package/lib/room-control/sharing-control/type.d.ts +9 -5
- package/lib/room-control/sharing-control/type.js +6 -1
- package/lib/room-control/stream-control/index.d.ts +8 -1
- package/lib/room-control/stream-control/index.js +139 -36
- package/lib/room-control/stream-control/type.d.ts +6 -0
- package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
- package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
- package/lib/room-control/stt-control/index.d.ts +1 -0
- package/lib/room-control/stt-control/index.js +353 -0
- package/lib/room-control/stt-control/type.d.ts +142 -0
- package/lib/room-control/stt-control/type.js +16 -0
- package/lib/room-control/type.d.ts +15 -0
- package/lib/room-control/type.js +13 -1
- package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
- package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
- package/lib/room-control/whiteboard-control/type.d.ts +38 -0
- package/lib/room-control/whiteboard-control/type.js +15 -0
- package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
- package/lib/room-control/whiteboard-control/utils.js +23 -0
- package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
- package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
- package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
- package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
- package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
- package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
- package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
- package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
- package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
- package/lib/room-control/whiteboard-control-v1/index.js +440 -0
- package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
- package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
- package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
- package/lib/room-control/whiteboard-control-v1/type.js +13 -0
- package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
- package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -233
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
- package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
- package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
- package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
- package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +31 -18
- package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
- package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
- package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
- package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
- package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
- package/lib/room-control/whiteboard-control-v2/type.js +5 -0
- package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
- package/lib/room-control/whiteboard-control-v2/utils.js +22 -21
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +124 -191
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
- package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +35 -44
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
- package/lib/room-router/index.js +4 -0
- package/lib/schema.d.ts +23 -9
- package/lib/schema.js +10 -4
- package/lib/service/api.d.ts +75 -19
- package/lib/service/api.js +193 -24
- package/lib/type.d.ts +15 -2
- package/lib/type.js +13 -0
- package/lib/utilities/error-helpers.d.ts +2 -1
- package/lib/utilities/error-helpers.js +1 -0
- package/lib/utilities/error.d.ts +1 -0
- package/lib/utilities/error.js +1 -0
- package/lib/utilities/logger.d.ts +2 -2
- package/lib/utilities/shared-storage.d.ts +3 -1
- package/lib/utilities/shared-storage.js +9 -1
- package/package.json +11 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
- package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
- package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -262
- package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
- package/lib/room-control/whiteboard-control-v2/index.js +0 -286
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -32
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -252
|
@@ -40,7 +40,7 @@ var _error = require("../../utilities/error");
|
|
|
40
40
|
var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
|
|
41
41
|
var _schema = require("../../schema");
|
|
42
42
|
var _FcrPrivilegeControlImpl;
|
|
43
|
-
let _initProto, _getSecurityInfoDecs, _getLocalUserPermissionInfoDecs, _enableLockedRoomDecs, _allowShareAndWriteDecs, _allowWriteBoardDecs, _allowSendChatDecs, _allowStartAudioDecs, _allowStartVideoDecs, _allowJoinWithMutedAudioDecs, _allowJoinWithMutedVideoDecs, _allowWatermarkDecs, _allowChangeUserNameDecs, _ref;
|
|
43
|
+
let _initProto, _getSecurityInfoDecs, _getLocalUserPermissionInfoDecs, _enableLockedRoomDecs, _allowShareAndWriteDecs, _allowWriteBoardDecs, _allowWriteBoardByUserIdsDecs, _allowSendChatDecs, _allowStartAudioDecs, _allowStartVideoDecs, _allowJoinWithMutedAudioDecs, _allowJoinWithMutedVideoDecs, _allowWatermarkDecs, _allowChangeUserNameDecs, _allowStartCaptionDecs, _allowStartTranscribingDecs, _allowUpdateSttSourceLanguageDecs, _allowJoinWithPromptSoundDecs, _ref;
|
|
44
44
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
45
45
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
46
46
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
@@ -48,7 +48,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
48
48
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
49
49
|
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
50
50
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
51
|
-
_ref = (_getSecurityInfoDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSecurityActionSchema)], _getLocalUserPermissionInfoDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrPermissionActionSchema)], _enableLockedRoomDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowShareAndWriteDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowWriteBoardDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowSendChatDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema, _schema.fcrSecuritySendChatPayloadSchema)], _allowStartAudioDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowStartVideoDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowJoinWithMutedAudioDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowJoinWithMutedVideoDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowWatermarkDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema, _schema.fcrLineTypeSchema.optional())], _allowChangeUserNameDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], "logger");
|
|
51
|
+
_ref = (_getSecurityInfoDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSecurityActionSchema)], _getLocalUserPermissionInfoDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrPermissionActionSchema)], _enableLockedRoomDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowShareAndWriteDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowWriteBoardDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowWriteBoardByUserIdsDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.stringArraySchema)], _allowSendChatDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema, _schema.fcrSecuritySendChatPayloadSchema)], _allowStartAudioDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowStartVideoDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowJoinWithMutedAudioDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowJoinWithMutedVideoDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowWatermarkDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema, _schema.fcrLineTypeSchema.optional())], _allowChangeUserNameDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowStartCaptionDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowStartTranscribingDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowUpdateSttSourceLanguageDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], _allowJoinWithPromptSoundDecs = [_imports.trace, (0, _validateParams.default)(_schema.booleanSchema, _schema.fcrPrivilegeUserRoleArraySchema)], "logger");
|
|
52
52
|
/**
|
|
53
53
|
* @internal
|
|
54
54
|
*/
|
|
@@ -148,6 +148,18 @@ class FcrPrivilegeControlImpl {
|
|
|
148
148
|
}
|
|
149
149
|
}), _error.FcrErrorModuleCode.ROOM_PRIVILEGE, 'allow write board failed');
|
|
150
150
|
}
|
|
151
|
+
async allowWriteBoardByUserIds(enable, targetUserIds) {
|
|
152
|
+
await (0, _error.handleRequestError)(() => this._api.toggleShareEnableByUserIds({
|
|
153
|
+
roomId: this._scene.sceneId,
|
|
154
|
+
enable: true,
|
|
155
|
+
toUserUuids: targetUserIds,
|
|
156
|
+
payload: {
|
|
157
|
+
board: {
|
|
158
|
+
write: enable ? 1 : 0
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}), _error.FcrErrorModuleCode.ROOM_PRIVILEGE, 'allow write board by user ids failed');
|
|
162
|
+
}
|
|
151
163
|
async allowSendChat(enable, targetRoles, payload) {
|
|
152
164
|
await (0, _error.handleRequestError)(() => this._api.allowSendChat({
|
|
153
165
|
enable,
|
|
@@ -211,6 +223,34 @@ class FcrPrivilegeControlImpl {
|
|
|
211
223
|
targetRoles: targetRoles.map(role => _type2.FcrPrivilegeUserRoleToStringMap[role])
|
|
212
224
|
}), _error.FcrErrorModuleCode.ROOM_PRIVILEGE, 'allow change user name failed');
|
|
213
225
|
}
|
|
226
|
+
async allowStartCaption(enable, targetRoles) {
|
|
227
|
+
await (0, _error.handleRequestError)(() => this._api.allowStartCaption({
|
|
228
|
+
roomUuid: this._scene.sceneId,
|
|
229
|
+
enable,
|
|
230
|
+
targetRoles: targetRoles.map(role => _type2.FcrPrivilegeUserRoleToStringMap[role])
|
|
231
|
+
}), _error.FcrErrorModuleCode.ROOM_STT, 'allow start caption failed');
|
|
232
|
+
}
|
|
233
|
+
async allowStartTranscribing(enable, targetRoles) {
|
|
234
|
+
await (0, _error.handleRequestError)(() => this._api.allowStartTranscribing({
|
|
235
|
+
roomUuid: this._scene.sceneId,
|
|
236
|
+
enable,
|
|
237
|
+
targetRoles: targetRoles.map(role => _type2.FcrPrivilegeUserRoleToStringMap[role])
|
|
238
|
+
}), _error.FcrErrorModuleCode.ROOM_STT, 'allow start transcribing failed');
|
|
239
|
+
}
|
|
240
|
+
async allowUpdateSttSourceLanguage(enable, targetRoles) {
|
|
241
|
+
await (0, _error.handleRequestError)(() => this._api.allowUpdateSttSourceLanguage({
|
|
242
|
+
roomUuid: this._scene.sceneId,
|
|
243
|
+
enable,
|
|
244
|
+
targetRoles: targetRoles.map(role => _type2.FcrPrivilegeUserRoleToStringMap[role])
|
|
245
|
+
}), _error.FcrErrorModuleCode.ROOM_STT, 'allow update stt source language failed');
|
|
246
|
+
}
|
|
247
|
+
async allowJoinWithPromptSound(enable, targetRoles) {
|
|
248
|
+
await (0, _error.handleRequestError)(() => this._api.allowJoinWithPromptSound({
|
|
249
|
+
roomId: this._scene.sceneId,
|
|
250
|
+
enable,
|
|
251
|
+
targetRoles: targetRoles.map(role => _type2.FcrPrivilegeUserRoleToStringMap[role])
|
|
252
|
+
}), _error.FcrErrorModuleCode.ROOM_PRIVILEGE, 'allow join with prompt sound failed');
|
|
253
|
+
}
|
|
214
254
|
addObserver(observer) {
|
|
215
255
|
this._observable.addObserver(observer);
|
|
216
256
|
}
|
|
@@ -295,4 +335,4 @@ class FcrPrivilegeControlImpl {
|
|
|
295
335
|
}
|
|
296
336
|
exports.FcrPrivilegeControlImpl = FcrPrivilegeControlImpl;
|
|
297
337
|
_FcrPrivilegeControlImpl = FcrPrivilegeControlImpl;
|
|
298
|
-
[_initProto] = _applyDecs(_FcrPrivilegeControlImpl, [[_imports.trace, 2, "allowWriteAnnotation"], [_getSecurityInfoDecs, 2, "getSecurityInfo"], [_getLocalUserPermissionInfoDecs, 2, "getLocalUserPermissionInfo"], [_enableLockedRoomDecs, 2, "enableLockedRoom"], [_allowShareAndWriteDecs, 2, "allowShareAndWrite"], [_allowWriteBoardDecs, 2, "allowWriteBoard"], [_allowSendChatDecs, 2, "allowSendChat"], [_allowStartAudioDecs, 2, "allowStartAudio"], [_allowStartVideoDecs, 2, "allowStartVideo"], [_allowJoinWithMutedAudioDecs, 2, "allowJoinWithMutedAudio"], [_allowJoinWithMutedVideoDecs, 2, "allowJoinWithMutedVideo"], [_allowWatermarkDecs, 2, "allowWatermark"], [_allowChangeUserNameDecs, 2, "allowChangeUserName"]], []).e;
|
|
338
|
+
[_initProto] = _applyDecs(_FcrPrivilegeControlImpl, [[_imports.trace, 2, "allowWriteAnnotation"], [_getSecurityInfoDecs, 2, "getSecurityInfo"], [_getLocalUserPermissionInfoDecs, 2, "getLocalUserPermissionInfo"], [_enableLockedRoomDecs, 2, "enableLockedRoom"], [_allowShareAndWriteDecs, 2, "allowShareAndWrite"], [_allowWriteBoardDecs, 2, "allowWriteBoard"], [_allowWriteBoardByUserIdsDecs, 2, "allowWriteBoardByUserIds"], [_allowSendChatDecs, 2, "allowSendChat"], [_allowStartAudioDecs, 2, "allowStartAudio"], [_allowStartVideoDecs, 2, "allowStartVideo"], [_allowJoinWithMutedAudioDecs, 2, "allowJoinWithMutedAudio"], [_allowJoinWithMutedVideoDecs, 2, "allowJoinWithMutedVideo"], [_allowWatermarkDecs, 2, "allowWatermark"], [_allowChangeUserNameDecs, 2, "allowChangeUserName"], [_allowStartCaptionDecs, 2, "allowStartCaption"], [_allowStartTranscribingDecs, 2, "allowStartTranscribing"], [_allowUpdateSttSourceLanguageDecs, 2, "allowUpdateSttSourceLanguage"], [_allowJoinWithPromptSoundDecs, 2, "allowJoinWithPromptSound"]], []).e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FcrSecurityPrivateChatConfigSchema, FcrSecuritySendChatPayloadSchema } from '../../schema';
|
|
2
2
|
import { FcrLineType, FcrUserInfo } from '../../type';
|
|
3
|
-
import { FcrSharePermissionState } from '../
|
|
3
|
+
import { FcrSharePermissionState } from '../sharing-control/type';
|
|
4
4
|
export interface FcrPrivilegeControl {
|
|
5
5
|
/**
|
|
6
6
|
* Gets the security information of the specified action.
|
|
@@ -38,6 +38,12 @@ export interface FcrPrivilegeControl {
|
|
|
38
38
|
* @param targetRoles
|
|
39
39
|
*/
|
|
40
40
|
allowWriteBoard(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Enables or disables whiteboard write privilege by user ids.
|
|
43
|
+
* @param enable
|
|
44
|
+
* @param targetUserIds
|
|
45
|
+
*/
|
|
46
|
+
allowWriteBoardByUserIds(enable: boolean, targetUserIds: string[]): Promise<void>;
|
|
41
47
|
/**
|
|
42
48
|
* Enables or disables send chat.
|
|
43
49
|
* @param enable
|
|
@@ -87,6 +93,30 @@ export interface FcrPrivilegeControl {
|
|
|
87
93
|
* @param targetRoles
|
|
88
94
|
*/
|
|
89
95
|
allowWriteAnnotation(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Enables or disables start caption.
|
|
98
|
+
* @param enable
|
|
99
|
+
* @param targetRoles
|
|
100
|
+
*/
|
|
101
|
+
allowStartCaption(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Enables or disables start transcribing.
|
|
104
|
+
* @param enable
|
|
105
|
+
* @param targetRoles
|
|
106
|
+
*/
|
|
107
|
+
allowStartTranscribing(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Enables or disables update stt source language.
|
|
110
|
+
* @param enable
|
|
111
|
+
* @param targetRoles
|
|
112
|
+
*/
|
|
113
|
+
allowUpdateSttSourceLanguage(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Enables or disables join with prompt sound.
|
|
116
|
+
* @param enable
|
|
117
|
+
* @param targetRoles
|
|
118
|
+
*/
|
|
119
|
+
allowJoinWithPromptSound(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
|
|
90
120
|
/**
|
|
91
121
|
* Adds an observer.
|
|
92
122
|
* @param observer
|
|
@@ -173,13 +203,13 @@ export declare enum FcrPrivilegeUserRole {
|
|
|
173
203
|
SELF = 7
|
|
174
204
|
}
|
|
175
205
|
export declare const FcrPrivilegeUserRoleToStringMap: {
|
|
176
|
-
1:
|
|
177
|
-
2:
|
|
178
|
-
3:
|
|
179
|
-
4:
|
|
180
|
-
5:
|
|
181
|
-
6:
|
|
182
|
-
7:
|
|
206
|
+
readonly 1: "host";
|
|
207
|
+
readonly 2: "cohost";
|
|
208
|
+
readonly 3: "participant";
|
|
209
|
+
readonly 4: "audience";
|
|
210
|
+
readonly 5: "observer";
|
|
211
|
+
readonly 6: "robot";
|
|
212
|
+
readonly 7: "~";
|
|
183
213
|
};
|
|
184
214
|
export declare const FcrPrivilegeUserStringToRoleMap: {
|
|
185
215
|
host: FcrPrivilegeUserRole;
|
|
@@ -229,6 +259,7 @@ export declare enum FcrPermissionAction {
|
|
|
229
259
|
StreamEnableJoinWithVideo = "stream:disallowJoinWithCloseVideo",
|
|
230
260
|
StreamDisableJoinWithAudio = "stream:allowJoinWithMuteAudio",
|
|
231
261
|
StreamEnableJoinWithAudio = "stream:disallowJoinWithMuteAudio",
|
|
262
|
+
StreamAllowJoinWithPromptSound = "stream:allowJoinWithPromptSound",
|
|
232
263
|
WaitingRoomOpen = "waitingRoom:enable",
|
|
233
264
|
WaitingRoomClose = "waitingRoom:disable",
|
|
234
265
|
WaitingRoomAddUser = "waitingRoom:addUser",
|
|
@@ -260,8 +291,20 @@ export declare enum FcrPermissionAction {
|
|
|
260
291
|
BoardDisallowWrite = "board:disallowWrite",
|
|
261
292
|
InterpreterStart = "interpreter:start",
|
|
262
293
|
InterpreterStop = "interpreter:stop",
|
|
294
|
+
AnnotationStart = "annotation:start",
|
|
263
295
|
AnnotationWrite = "annotation:write",
|
|
264
|
-
AnnotationAllowWrite = "annotation:allowWrite"
|
|
296
|
+
AnnotationAllowWrite = "annotation:allowWrite",
|
|
297
|
+
SttAllowStartCaption = "stt:allowStartCaption",
|
|
298
|
+
SttDisallowStartCaption = "stt:disallowStartCaption",
|
|
299
|
+
SttAllowStartTranscribe = "stt:allowStartTranscribe",
|
|
300
|
+
SttDisallowStartTranscribe = "stt:disallowStartTranscribe",
|
|
301
|
+
SttAllowModifySpeechLanguage = "stt:allowModifySpeechLanguage",
|
|
302
|
+
SttDisallowModifySpeechLanguage = "stt:disallowModifySpeechLanguage",
|
|
303
|
+
SttStartCaption = "stt:startCaption",
|
|
304
|
+
SttStopCaption = "stt:stopCaption",
|
|
305
|
+
SttStartTranscribe = "stt:startTranscribe",
|
|
306
|
+
SttStopTranscribe = "stt:stopTranscribe",
|
|
307
|
+
SttModifySpeechLanguage = "stt:modifySpeechLanguage"
|
|
265
308
|
}
|
|
266
309
|
export type FcrPermission = {
|
|
267
310
|
action: FcrPermissionAction;
|
|
@@ -298,7 +341,11 @@ export declare enum FcrSecurityAction {
|
|
|
298
341
|
BoardAllowWrite = "boardAllowWrite",
|
|
299
342
|
Sharing = "sharing",
|
|
300
343
|
WaterMark = "watermark",
|
|
301
|
-
Annotation = "annotation"
|
|
344
|
+
Annotation = "annotation",
|
|
345
|
+
SttSourceLanguage = "stt",
|
|
346
|
+
SttStartCaption = "caption",
|
|
347
|
+
SttStartTranscribe = "transcribe",
|
|
348
|
+
JoinWithPromptSound = "joinWithPromptSound"
|
|
302
349
|
}
|
|
303
350
|
export declare enum FcrWatermarkPermissionState {
|
|
304
351
|
ON = 1,
|
|
@@ -75,6 +75,7 @@ let FcrPermissionAction = exports.FcrPermissionAction = /*#__PURE__*/function (F
|
|
|
75
75
|
FcrPermissionAction["StreamEnableJoinWithVideo"] = "stream:disallowJoinWithCloseVideo";
|
|
76
76
|
FcrPermissionAction["StreamDisableJoinWithAudio"] = "stream:allowJoinWithMuteAudio";
|
|
77
77
|
FcrPermissionAction["StreamEnableJoinWithAudio"] = "stream:disallowJoinWithMuteAudio";
|
|
78
|
+
FcrPermissionAction["StreamAllowJoinWithPromptSound"] = "stream:allowJoinWithPromptSound";
|
|
78
79
|
FcrPermissionAction["WaitingRoomOpen"] = "waitingRoom:enable";
|
|
79
80
|
FcrPermissionAction["WaitingRoomClose"] = "waitingRoom:disable";
|
|
80
81
|
FcrPermissionAction["WaitingRoomAddUser"] = "waitingRoom:addUser";
|
|
@@ -106,8 +107,20 @@ let FcrPermissionAction = exports.FcrPermissionAction = /*#__PURE__*/function (F
|
|
|
106
107
|
FcrPermissionAction["BoardDisallowWrite"] = "board:disallowWrite";
|
|
107
108
|
FcrPermissionAction["InterpreterStart"] = "interpreter:start";
|
|
108
109
|
FcrPermissionAction["InterpreterStop"] = "interpreter:stop";
|
|
110
|
+
FcrPermissionAction["AnnotationStart"] = "annotation:start";
|
|
109
111
|
FcrPermissionAction["AnnotationWrite"] = "annotation:write";
|
|
110
112
|
FcrPermissionAction["AnnotationAllowWrite"] = "annotation:allowWrite";
|
|
113
|
+
FcrPermissionAction["SttAllowStartCaption"] = "stt:allowStartCaption";
|
|
114
|
+
FcrPermissionAction["SttDisallowStartCaption"] = "stt:disallowStartCaption";
|
|
115
|
+
FcrPermissionAction["SttAllowStartTranscribe"] = "stt:allowStartTranscribe";
|
|
116
|
+
FcrPermissionAction["SttDisallowStartTranscribe"] = "stt:disallowStartTranscribe";
|
|
117
|
+
FcrPermissionAction["SttAllowModifySpeechLanguage"] = "stt:allowModifySpeechLanguage";
|
|
118
|
+
FcrPermissionAction["SttDisallowModifySpeechLanguage"] = "stt:disallowModifySpeechLanguage";
|
|
119
|
+
FcrPermissionAction["SttStartCaption"] = "stt:startCaption";
|
|
120
|
+
FcrPermissionAction["SttStopCaption"] = "stt:stopCaption";
|
|
121
|
+
FcrPermissionAction["SttStartTranscribe"] = "stt:startTranscribe";
|
|
122
|
+
FcrPermissionAction["SttStopTranscribe"] = "stt:stopTranscribe";
|
|
123
|
+
FcrPermissionAction["SttModifySpeechLanguage"] = "stt:modifySpeechLanguage";
|
|
111
124
|
return FcrPermissionAction;
|
|
112
125
|
}({});
|
|
113
126
|
let FcrOperatePermissionType = exports.FcrOperatePermissionType = /*#__PURE__*/function (FcrOperatePermissionType) {
|
|
@@ -139,6 +152,10 @@ let FcrSecurityAction = exports.FcrSecurityAction = /*#__PURE__*/function (FcrSe
|
|
|
139
152
|
FcrSecurityAction["Sharing"] = "sharing";
|
|
140
153
|
FcrSecurityAction["WaterMark"] = "watermark";
|
|
141
154
|
FcrSecurityAction["Annotation"] = "annotation";
|
|
155
|
+
FcrSecurityAction["SttSourceLanguage"] = "stt";
|
|
156
|
+
FcrSecurityAction["SttStartCaption"] = "caption";
|
|
157
|
+
FcrSecurityAction["SttStartTranscribe"] = "transcribe";
|
|
158
|
+
FcrSecurityAction["JoinWithPromptSound"] = "joinWithPromptSound";
|
|
142
159
|
return FcrSecurityAction;
|
|
143
160
|
}({});
|
|
144
161
|
let FcrWatermarkPermissionState = exports.FcrWatermarkPermissionState = /*#__PURE__*/function (FcrWatermarkPermissionState) {
|
|
@@ -58,7 +58,7 @@ class RoomControlFactory {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
// 创建聊天室控制
|
|
61
|
-
const chatRoomControl = new _chatroom.FcrChatRoomControlImpl(scene, chatConnection, sharedCache);
|
|
61
|
+
const chatRoomControl = new _chatroom.FcrChatRoomControlImpl(scene, chatConnection, sharedCache, false);
|
|
62
62
|
|
|
63
63
|
// 创建房间控制实例
|
|
64
64
|
return new RoomControlImpl(engine, scene, apiService, config, sharedCache, chatConnection, chatRoomControl);
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
require("core-js/modules/es.symbol.description.js");
|
|
4
4
|
require("core-js/modules/es.array.push.js");
|
|
5
5
|
require("core-js/modules/esnext.function.metadata.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
7
6
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
7
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
9
8
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
@@ -14,6 +13,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
13
|
exports.FcrRoomSessionControlImpl = void 0;
|
|
15
14
|
require("core-js/modules/es.error.cause.js");
|
|
16
15
|
require("core-js/modules/es.json.stringify.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
17
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
17
18
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
18
19
|
require("core-js/modules/esnext.map.emplace.js");
|
|
19
20
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -31,10 +32,12 @@ require("core-js/modules/esnext.map.update.js");
|
|
|
31
32
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
32
33
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
34
|
var _imports = require("../../imports");
|
|
35
|
+
var _type = require("../../type");
|
|
34
36
|
var _error = require("../../utilities/error");
|
|
35
37
|
var _logger = require("../../utilities/logger");
|
|
36
38
|
var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
|
|
37
39
|
var _schema = require("../../schema");
|
|
40
|
+
var _helpers = require("../helpers");
|
|
38
41
|
var _FcrRoomSessionControlImpl;
|
|
39
42
|
let _initProto, _startRoomSessionDecs, _stopRoomSessionDecs, _acceptRoomSessionDecs, _rejectRoomSessionDecs, _ref;
|
|
40
43
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -47,7 +50,7 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
47
50
|
/**
|
|
48
51
|
* @internal
|
|
49
52
|
*/
|
|
50
|
-
_ref = (_startRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrRoomSessionParamsSchema)], _stopRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _acceptRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], _rejectRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], "logger");
|
|
53
|
+
_ref = (_startRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrRoomSessionParamsSchema, _schema.fcrPrivilegeUserRoleArraySchema.optional())], _stopRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _acceptRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], _rejectRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], "logger");
|
|
51
54
|
class FcrRoomSessionControlImpl {
|
|
52
55
|
constructor(_roomControl, _api, _userId) {
|
|
53
56
|
//@internal
|
|
@@ -72,14 +75,15 @@ class FcrRoomSessionControlImpl {
|
|
|
72
75
|
});
|
|
73
76
|
this._task = _imports.AgoraScheduler.shared.addPollingTask(this._executeTask, this._taskInterval, true, () => _imports.ActionWhenTaskFail.CONTINUE);
|
|
74
77
|
}
|
|
75
|
-
async startRoomSession(params) {
|
|
78
|
+
async startRoomSession(params, targetRoles) {
|
|
76
79
|
try {
|
|
77
80
|
const session = {
|
|
78
|
-
sessionId: (0, _imports.md5)("".concat(Date.now())),
|
|
81
|
+
sessionId: (0, _imports.md5)("".concat(this._userId).concat(Date.now())),
|
|
79
82
|
sessionKey: params.sessionKey,
|
|
80
83
|
payload: params.payload,
|
|
81
84
|
duration: params.duration,
|
|
82
|
-
sender: this._userId
|
|
85
|
+
sender: this._userId,
|
|
86
|
+
targetRoles: targetRoles ? targetRoles.map(role => _type.FcrPrivilegeUserRoleToStringMap[role]) : undefined
|
|
83
87
|
};
|
|
84
88
|
const {
|
|
85
89
|
data: {
|
|
@@ -91,10 +95,12 @@ class FcrRoomSessionControlImpl {
|
|
|
91
95
|
sessionKey: session.sessionKey,
|
|
92
96
|
duration: session.duration,
|
|
93
97
|
payload: session.payload,
|
|
94
|
-
targetId: this._roomControl.getRoomInfo().roomId
|
|
98
|
+
targetId: this._roomControl.getRoomInfo().roomId,
|
|
99
|
+
targetRoles: session.targetRoles
|
|
95
100
|
});
|
|
96
101
|
const nextTs = Date.now() + interval;
|
|
97
102
|
this._scheduleMap.set(session.sessionId, _objectSpread(_objectSpread({}, params), {}, {
|
|
103
|
+
targetRoles: session.targetRoles,
|
|
98
104
|
nextTs,
|
|
99
105
|
startTs: Date.now()
|
|
100
106
|
}));
|
|
@@ -117,6 +123,7 @@ class FcrRoomSessionControlImpl {
|
|
|
117
123
|
sessionId: session.sessionId,
|
|
118
124
|
sessionKey: session.sessionKey,
|
|
119
125
|
receiverIds: [session.senderId],
|
|
126
|
+
target: 2,
|
|
120
127
|
action: 1,
|
|
121
128
|
payload: {
|
|
122
129
|
cause
|
|
@@ -136,6 +143,7 @@ class FcrRoomSessionControlImpl {
|
|
|
136
143
|
sessionId: session.sessionId,
|
|
137
144
|
sessionKey: session.sessionKey,
|
|
138
145
|
receiverIds: [session.senderId],
|
|
146
|
+
target: 2,
|
|
139
147
|
action: 2,
|
|
140
148
|
payload: {
|
|
141
149
|
cause
|
|
@@ -164,6 +172,7 @@ class FcrRoomSessionControlImpl {
|
|
|
164
172
|
duration: params.duration,
|
|
165
173
|
senderId: this._userId,
|
|
166
174
|
timestamp: params.startTs,
|
|
175
|
+
targetRoles: params.targetRoles,
|
|
167
176
|
interval: 0
|
|
168
177
|
};
|
|
169
178
|
if (this._isSessionExpired(session)) {
|
|
@@ -185,6 +194,7 @@ class FcrRoomSessionControlImpl {
|
|
|
185
194
|
sessionKey: session.sessionKey,
|
|
186
195
|
duration: params.duration,
|
|
187
196
|
payload: session.payload,
|
|
197
|
+
targetRoles: session.targetRoles,
|
|
188
198
|
targetId: this._roomControl.getRoomInfo().roomId
|
|
189
199
|
});
|
|
190
200
|
const nextTs = Date.now() + interval;
|
|
@@ -213,13 +223,11 @@ class FcrRoomSessionControlImpl {
|
|
|
213
223
|
async _handleRoomMessage(roomId, message) {
|
|
214
224
|
const {
|
|
215
225
|
senderId,
|
|
216
|
-
payload
|
|
217
|
-
} = message;
|
|
218
|
-
const {
|
|
219
|
-
data,
|
|
226
|
+
payload,
|
|
220
227
|
cmd
|
|
221
|
-
} =
|
|
222
|
-
|
|
228
|
+
} = message;
|
|
229
|
+
const data = payload;
|
|
230
|
+
if (cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_SESSION_REQUEST) {
|
|
223
231
|
const session = {
|
|
224
232
|
sessionId: data.sessionUuid,
|
|
225
233
|
sessionKey: data.sessionKey,
|
|
@@ -240,7 +248,9 @@ class FcrRoomSessionControlImpl {
|
|
|
240
248
|
}
|
|
241
249
|
this._receivedMap.set(session.sessionId, session);
|
|
242
250
|
}
|
|
243
|
-
} else if (cmd ===
|
|
251
|
+
} else if (cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_SESSION_ACCEPT) {
|
|
252
|
+
// TODO: BUG FIXSME: onRoomSessionAccepted 和 onRoomSessionRejected 两个事件, apaas private doc 描述的是监听 AgoraRteEngine.onSceneMessageReceived
|
|
253
|
+
// 但是点对点消息实际上触发的是 AgoraRteEngine.onPeerMessageReceived 事件. 所以这里并不会收到 cmd === ROOM_SESSION_ACCEPT 和 ROOM_SESSION_REJECT 的消息.
|
|
244
254
|
if (data.action === 1) {
|
|
245
255
|
if (this._scheduleMap.has(data.sessionUuid)) {
|
|
246
256
|
var _session$payload, _ref2, _data$payload;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { FcrSessionResponse } from '../../type';
|
|
1
|
+
import { FcrPrivilegeUserRole, FcrSessionResponse } from '../../type';
|
|
2
2
|
import { FcrRoomSessionParamsSchema, FcrSessionBaseSchema } from '../../schema';
|
|
3
3
|
export interface FcrRoomSessionControl {
|
|
4
4
|
/**
|
|
5
5
|
* Starts a room session.
|
|
6
6
|
* @param params
|
|
7
7
|
*/
|
|
8
|
-
startRoomSession(params: FcrRoomSessionParams): Promise<string>;
|
|
8
|
+
startRoomSession(params: FcrRoomSessionParams, targetRoles?: FcrPrivilegeUserRole[]): Promise<string>;
|
|
9
9
|
/**
|
|
10
10
|
* Stops a room session.
|
|
11
11
|
* @param sessionId
|
|
@@ -3,11 +3,11 @@ import { FcrCoreServiceApi } from '../../service/api';
|
|
|
3
3
|
import { FcrScreenStreamCreateConfig, FcrSize, FcrStreamControl } from '../stream-control/type';
|
|
4
4
|
import { FcrScreenSharingState, FcrSharingControl, FcrSharingObserver, FcrWhiteboardState } from './type';
|
|
5
5
|
import { FcrPrivilegeControl } from '../privilege-control/type';
|
|
6
|
-
import {
|
|
6
|
+
import { FcrWhiteboardControl } from '../whiteboard-control-v2/whiteboard-control/type';
|
|
7
7
|
import { FcrStreamInfo } from '../../type';
|
|
8
8
|
import { FcrUserControl } from '../..';
|
|
9
9
|
import { FcrSharedCache } from '../shared-cache';
|
|
10
|
-
import {
|
|
10
|
+
import { FcrAnnotationControl } from '../whiteboard-control-v2/annotation-control/type';
|
|
11
11
|
export declare class FcrSharingControlImpl implements FcrSharingControl {
|
|
12
12
|
private _scene;
|
|
13
13
|
private _api;
|
|
@@ -16,7 +16,7 @@ export declare class FcrSharingControlImpl implements FcrSharingControl {
|
|
|
16
16
|
private _streamControl;
|
|
17
17
|
private _sharedCache;
|
|
18
18
|
private _userControl;
|
|
19
|
-
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
19
|
+
protected logger: import("agora-foundation/lib/logger/type").Logger;
|
|
20
20
|
private _observable;
|
|
21
21
|
private _annotationControl;
|
|
22
22
|
private _whiteboardControl;
|
|
@@ -35,9 +35,9 @@ export declare class FcrSharingControlImpl implements FcrSharingControl {
|
|
|
35
35
|
stop(): Promise<void>;
|
|
36
36
|
getScreenSharingState(): FcrScreenSharingState;
|
|
37
37
|
getWhiteboardState(): FcrWhiteboardState;
|
|
38
|
-
getAnnotationControl():
|
|
38
|
+
getAnnotationControl(): FcrAnnotationControl;
|
|
39
39
|
getSharingWindowSize(): FcrSize | undefined;
|
|
40
|
-
getBoardControl():
|
|
40
|
+
getBoardControl(): FcrWhiteboardControl;
|
|
41
41
|
addObserver(observer: FcrSharingObserver): void;
|
|
42
42
|
removeObserver(observer: FcrSharingObserver): void;
|
|
43
43
|
release(): void;
|
|
@@ -32,10 +32,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
32
32
|
var _type = require("./type");
|
|
33
33
|
var _imports = require("../../imports");
|
|
34
34
|
var _ = require("../..");
|
|
35
|
-
var _enums = require("../whiteboard-control/enums");
|
|
36
35
|
var _logger = require("../../utilities/logger");
|
|
37
|
-
var
|
|
38
|
-
var
|
|
36
|
+
var _factory = require("../whiteboard-control-v2/whiteboard-control/factory");
|
|
37
|
+
var _factory2 = require("../whiteboard-control-v2/annotation-control/factory");
|
|
38
|
+
var _utils = require("../whiteboard-control/utils");
|
|
39
|
+
var _type2 = require("../type");
|
|
39
40
|
var _FcrSharingControlImpl;
|
|
40
41
|
let _initProto;
|
|
41
42
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
@@ -101,9 +102,9 @@ class FcrSharingControlImpl {
|
|
|
101
102
|
const currentShareState = this.getScreenSharingState();
|
|
102
103
|
if (currentShareState === _type.FcrScreenSharingState.START_ONLY_SCREEN) {
|
|
103
104
|
if (enableAnnotation) {
|
|
104
|
-
return this._api.toggleAnnotationActivityState(this._scene.sceneId,
|
|
105
|
+
return this._api.toggleAnnotationActivityState(this._scene.sceneId, _type.FcrSharePermissionState.ON);
|
|
105
106
|
} else {
|
|
106
|
-
return this._api.toggleAnnotationActivityState(this._scene.sceneId,
|
|
107
|
+
return this._api.toggleAnnotationActivityState(this._scene.sceneId, _type.FcrSharePermissionState.OFF);
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
return Promise.resolve();
|
|
@@ -135,9 +136,25 @@ class FcrSharingControlImpl {
|
|
|
135
136
|
}
|
|
136
137
|
getAnnotationControl() {
|
|
137
138
|
if (!this._annotationControl) {
|
|
138
|
-
|
|
139
|
+
const {
|
|
140
|
+
userId,
|
|
141
|
+
userName
|
|
142
|
+
} = this._userControl.getLocalUser();
|
|
143
|
+
const annotationConfig = {
|
|
144
|
+
userId,
|
|
145
|
+
userName,
|
|
146
|
+
roomId: this._scene.sceneId,
|
|
147
|
+
boardRatio: 1,
|
|
148
|
+
size: {
|
|
149
|
+
width: 1280,
|
|
150
|
+
height: 720
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
const permissions = this._privilegeControl.getAllLocalUserPermissionInfo();
|
|
154
|
+
const hasOperationPrivilege = (0, _utils.hasAnnotationWritePermission)(permissions);
|
|
155
|
+
this._annotationControl = new _factory2.FcrAnnotationControlFactoryImpl().createForMainProcess(
|
|
139
156
|
// @ts-ignore
|
|
140
|
-
this._engine._rtmClient._client,
|
|
157
|
+
this._engine._rtmClient._client, hasOperationPrivilege, annotationConfig, this._api);
|
|
141
158
|
}
|
|
142
159
|
return this._annotationControl;
|
|
143
160
|
}
|
|
@@ -154,9 +171,22 @@ class FcrSharingControlImpl {
|
|
|
154
171
|
}
|
|
155
172
|
getBoardControl() {
|
|
156
173
|
if (!this._whiteboardControl) {
|
|
157
|
-
|
|
174
|
+
const factory = new _factory.FcrWhiteboardControlFactoryImpl();
|
|
175
|
+
const permissions = this._privilegeControl.getAllLocalUserPermissionInfo();
|
|
176
|
+
const hasOperationPrivilege = (0, _utils.hasBoardWritePermission)(permissions);
|
|
177
|
+
const {
|
|
178
|
+
userId,
|
|
179
|
+
userName
|
|
180
|
+
} = this._userControl.getLocalUser();
|
|
181
|
+
const boardConfig = {
|
|
182
|
+
userId,
|
|
183
|
+
userName,
|
|
184
|
+
roomId: this._scene.sceneId,
|
|
185
|
+
boardRatio: 0
|
|
186
|
+
};
|
|
187
|
+
this._whiteboardControl = factory.createForMainProcess(
|
|
158
188
|
// @ts-ignore
|
|
159
|
-
this._engine._rtmClient._client, this._scene, this._api, this._sharedCache
|
|
189
|
+
this._engine._rtmClient._client, hasOperationPrivilege, boardConfig, this._scene, this._api, this._sharedCache);
|
|
160
190
|
}
|
|
161
191
|
return this._whiteboardControl;
|
|
162
192
|
}
|
|
@@ -216,9 +246,9 @@ class FcrSharingControlImpl {
|
|
|
216
246
|
const currentScreenSharingState = this.getScreenSharingState();
|
|
217
247
|
const causeCmd = cause === null || cause === void 0 ? void 0 : cause.cmd;
|
|
218
248
|
if (currentScreenSharingState === _type.FcrScreenSharingState.END) {
|
|
219
|
-
if (causeData && causeCmd === 10 && causeData.widgetUuid ===
|
|
249
|
+
if (causeData && causeCmd === 10 && causeData.widgetUuid === _type2.FcrWidgetUuid.ANNOTATION) {
|
|
220
250
|
var _causeData$widgetCaus;
|
|
221
|
-
if (((_causeData$widgetCaus = causeData.widgetCause) === null || _causeData$widgetCaus === void 0 ? void 0 : _causeData$widgetCaus.cmd) ===
|
|
251
|
+
if (((_causeData$widgetCaus = causeData.widgetCause) === null || _causeData$widgetCaus === void 0 ? void 0 : _causeData$widgetCaus.cmd) === _type2.FcrWidgetCauseCmd.ANNOTATION) {
|
|
222
252
|
this._observable.notifyObservers('onScreenSharingUpdated', this.ownerStream, _type.FcrScreenSharingState.END);
|
|
223
253
|
const isMeSharing = this.ownerId === this._userControl.getLocalUser().userId;
|
|
224
254
|
if (isMeSharing) {
|
|
@@ -230,9 +260,9 @@ class FcrSharingControlImpl {
|
|
|
230
260
|
}
|
|
231
261
|
} else {
|
|
232
262
|
// 当屏幕共享开启时
|
|
233
|
-
if (causeData && causeCmd === 10 && causeData.widgetUuid ===
|
|
263
|
+
if (causeData && causeCmd === 10 && causeData.widgetUuid === _type2.FcrWidgetUuid.ANNOTATION) {
|
|
234
264
|
var _causeData$widgetCaus2;
|
|
235
|
-
if (((_causeData$widgetCaus2 = causeData.widgetCause) === null || _causeData$widgetCaus2 === void 0 ? void 0 : _causeData$widgetCaus2.cmd) ===
|
|
265
|
+
if (((_causeData$widgetCaus2 = causeData.widgetCause) === null || _causeData$widgetCaus2 === void 0 ? void 0 : _causeData$widgetCaus2.cmd) === _type2.FcrWidgetCauseCmd.ANNOTATION) {
|
|
236
266
|
const screenStream = this._getScreenShareStreamByUuid();
|
|
237
267
|
this._observable.notifyObservers('onScreenSharingUpdated', screenStream !== null && screenStream !== void 0 ? screenStream : this.ownerStream, _type.FcrScreenSharingState.START_WHIT_ANNOTATION);
|
|
238
268
|
// const owner = this._userControl.getUser(this.ownerId);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FcrStreamInfo, FcrUserInfo } from '../../type';
|
|
2
2
|
import { FcrScreenStreamCreateConfig, FcrSize } from '../stream-control/type';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { FcrBoardInactiveReason } from '../whiteboard-control/enum';
|
|
4
|
+
import { FcrAnnotationControl } from '../whiteboard-control-v2/annotation-control/type';
|
|
5
|
+
import { FcrWhiteboardControl } from '../whiteboard-control-v2/whiteboard-control/type';
|
|
6
6
|
export interface FcrSharingControl {
|
|
7
7
|
startScreenSharing(config: FcrScreenStreamCreateConfig, size?: FcrSize): Promise<string>;
|
|
8
8
|
startWhiteboard(): Promise<void>;
|
|
@@ -10,8 +10,8 @@ export interface FcrSharingControl {
|
|
|
10
10
|
stop(): Promise<void>;
|
|
11
11
|
getScreenSharingState(): FcrScreenSharingState;
|
|
12
12
|
getWhiteboardState(): FcrWhiteboardState;
|
|
13
|
-
getAnnotationControl():
|
|
14
|
-
getBoardControl():
|
|
13
|
+
getAnnotationControl(): FcrAnnotationControl;
|
|
14
|
+
getBoardControl(): FcrWhiteboardControl;
|
|
15
15
|
getSharingWindowSize(): FcrSize | undefined;
|
|
16
16
|
addObserver(observer: FcrSharingObserver): void;
|
|
17
17
|
removeObserver(observer: FcrSharingObserver): void;
|
|
@@ -30,3 +30,7 @@ export declare enum FcrWhiteboardState {
|
|
|
30
30
|
END = 0,
|
|
31
31
|
START = 1
|
|
32
32
|
}
|
|
33
|
+
export declare enum FcrSharePermissionState {
|
|
34
|
+
ON = 1,
|
|
35
|
+
OFF = 0
|
|
36
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.FcrWhiteboardState = exports.FcrScreenSharingState = void 0;
|
|
6
|
+
exports.FcrWhiteboardState = exports.FcrSharePermissionState = exports.FcrScreenSharingState = void 0;
|
|
7
7
|
let FcrScreenSharingState = exports.FcrScreenSharingState = /*#__PURE__*/function (FcrScreenSharingState) {
|
|
8
8
|
FcrScreenSharingState[FcrScreenSharingState["END"] = 0] = "END";
|
|
9
9
|
FcrScreenSharingState[FcrScreenSharingState["START_ONLY_SCREEN"] = 1] = "START_ONLY_SCREEN";
|
|
@@ -14,4 +14,9 @@ let FcrWhiteboardState = exports.FcrWhiteboardState = /*#__PURE__*/function (Fcr
|
|
|
14
14
|
FcrWhiteboardState[FcrWhiteboardState["END"] = 0] = "END";
|
|
15
15
|
FcrWhiteboardState[FcrWhiteboardState["START"] = 1] = "START";
|
|
16
16
|
return FcrWhiteboardState;
|
|
17
|
+
}({});
|
|
18
|
+
let FcrSharePermissionState = exports.FcrSharePermissionState = /*#__PURE__*/function (FcrSharePermissionState) {
|
|
19
|
+
FcrSharePermissionState[FcrSharePermissionState["ON"] = 1] = "ON";
|
|
20
|
+
FcrSharePermissionState[FcrSharePermissionState["OFF"] = 0] = "OFF";
|
|
21
|
+
return FcrSharePermissionState;
|
|
17
22
|
}({});
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { AgoraRteRenderView } from '../../imports';
|
|
2
|
+
export declare class FcrSubscribedStreamsControl {
|
|
3
|
+
private logger;
|
|
4
|
+
getViewId(element: AgoraRteRenderView): string;
|
|
5
|
+
isEmpty(streamId: string): boolean;
|
|
6
|
+
bind(viewId: string, streamId: string): void;
|
|
7
|
+
unbind(viewId: string, streamId: string): void;
|
|
8
|
+
}
|