fcr-core 3.7.9-alpha → 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/chat-connection/index.js +41 -26
- package/lib/engine/index.js +72 -78
- package/lib/imports.d.ts +7 -2
- package/lib/imports.js +26 -4
- package/lib/index.d.ts +2 -2
- package/lib/index.js +12 -0
- package/lib/media-control/desktop.js +22 -17
- package/lib/media-control/mobile.js +38 -33
- package/lib/media-control/type.d.ts +8 -0
- package/lib/monitor-control/index.js +10 -5
- package/lib/peer-session/index.js +48 -39
- package/lib/plugins/chatroom.js +237 -205
- package/lib/room-control/ability-control/index.js +14 -9
- 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/group-control/index.js +21 -16
- package/lib/room-control/helpers/constants.d.ts +4 -0
- package/lib/room-control/helpers/constants.js +5 -1
- package/lib/room-control/helpers/validation-helper.js +1 -1
- package/lib/room-control/index.js +66 -38
- package/lib/room-control/interpreter-control/index.js +49 -38
- package/lib/room-control/interpreter-control/room.js +6 -4
- package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
- package/lib/room-control/mainroom-control/index.js +90 -17
- package/lib/room-control/privilege-control/helper.js +8 -5
- package/lib/room-control/privilege-control/index.js +66 -19
- 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-connector-control/index.js +28 -19
- package/lib/room-control/room-control-factory.js +3 -2
- package/lib/room-control/room-session/index.js +68 -49
- package/lib/room-control/room-session/type.d.ts +2 -2
- package/lib/room-control/shared-cache.js +36 -29
- package/lib/room-control/sharing-control/index.d.ts +5 -5
- package/lib/room-control/sharing-control/index.js +81 -43
- 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 +310 -199
- 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/user-control/index.js +143 -136
- package/lib/room-control/waitingroom-control/index.js +14 -9
- 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 +42 -228
- 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} +54 -36
- 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 +29 -27
- 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 +131 -187
- 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} +40 -38
- 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 +56 -42
- 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 +401 -208
- package/lib/type.d.ts +15 -2
- package/lib/type.js +13 -0
- package/lib/utilities/collection.js +3 -2
- package/lib/utilities/error-helpers.d.ts +2 -1
- package/lib/utilities/error-helpers.js +35 -27
- package/lib/utilities/error.d.ts +1 -0
- package/lib/utilities/error.js +10 -8
- package/lib/utilities/join-helper.js +32 -25
- package/lib/utilities/logger.d.ts +2 -2
- package/lib/utilities/logger.js +6 -3
- package/lib/utilities/parameters.js +8 -4
- package/lib/utilities/retry-helpers.js +1 -0
- package/lib/utilities/shared-storage.d.ts +3 -1
- package/lib/utilities/shared-storage.js +10 -1
- package/lib/utilities/storage.js +1 -0
- package/lib/utilities/stream.js +16 -11
- package/lib/utilities/user.js +4 -3
- package/lib/utilities/validate-params.js +2 -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 -252
- package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
- package/lib/room-control/whiteboard-control-v2/index.js +0 -274
- 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 -30
- 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 -240
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
|
3
5
|
require("core-js/modules/esnext.function.metadata.js");
|
|
4
6
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
5
7
|
require("core-js/modules/esnext.map.emplace.js");
|
|
@@ -25,13 +27,16 @@ require("core-js/modules/es.array.push.js");
|
|
|
25
27
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
26
28
|
require("core-js/modules/esnext.iterator.map.js");
|
|
27
29
|
require("core-js/modules/esnext.iterator.reduce.js");
|
|
30
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
31
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
28
32
|
var _type = require("./type");
|
|
29
33
|
var _imports = require("../../imports");
|
|
30
34
|
var _logger = require("../../utilities/logger");
|
|
31
35
|
var _error = require("../../utilities/error");
|
|
32
36
|
var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
|
|
33
37
|
var _schema = require("../../schema");
|
|
34
|
-
|
|
38
|
+
var _FcrRoomConnectorControlImpl;
|
|
39
|
+
let _initProto, _startSessionByPhoneDecs, _startSessionByIPDecs, _stopSessionDecs, _ref;
|
|
35
40
|
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)]; } }; }
|
|
36
41
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
37
42
|
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); }
|
|
@@ -40,16 +45,14 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
40
45
|
/**
|
|
41
46
|
* @internal
|
|
42
47
|
*/
|
|
48
|
+
_ref = (_startSessionByPhoneDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrPhoneConnectorSessionParamsSchema)], _startSessionByIPDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrIPConnectorSessionParamsSchema)], _stopSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger");
|
|
43
49
|
class FcrRoomConnectorControlImpl {
|
|
44
|
-
static {
|
|
45
|
-
[_initProto] = _applyDecs(this, [[_imports.trace, 2, "getRoomConnectorPhoneInfo"], [_imports.trace, 2, "getRoomConnectorIpInfo"], [_startSessionByPhoneDecs, 2, "startSessionByPhone"], [_startSessionByIPDecs, 2, "startSessionByIP"], [_stopSessionDecs, 2, "stopSession"]], []).e;
|
|
46
|
-
}
|
|
47
|
-
//@internal
|
|
48
|
-
[(_startSessionByPhoneDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrPhoneConnectorSessionParamsSchema)], _startSessionByIPDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrIPConnectorSessionParamsSchema)], _stopSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
|
|
49
|
-
prefix: 'FcrRoomConnectorControlImpl'
|
|
50
|
-
}));
|
|
51
|
-
_observable = new _imports.AgoraObservable();
|
|
52
50
|
constructor(_scene, _engine, _api) {
|
|
51
|
+
//@internal
|
|
52
|
+
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
53
|
+
prefix: 'FcrRoomConnectorControlImpl'
|
|
54
|
+
})));
|
|
55
|
+
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
53
56
|
this._scene = _scene;
|
|
54
57
|
this._engine = _engine;
|
|
55
58
|
this._api = _api;
|
|
@@ -59,16 +62,18 @@ class FcrRoomConnectorControlImpl {
|
|
|
59
62
|
});
|
|
60
63
|
}
|
|
61
64
|
getRoomConnectorPhoneInfo() {
|
|
65
|
+
var _ref2;
|
|
62
66
|
const mid = this._scene.getScenePropertiesByKeyPath('call.mid');
|
|
63
|
-
const callIn = this._scene.getScenePropertiesByKeyPath('call.callIn')
|
|
67
|
+
const callIn = (_ref2 = this._scene.getScenePropertiesByKeyPath('call.callIn')) !== null && _ref2 !== void 0 ? _ref2 : [];
|
|
64
68
|
const uid = this._scene.getUserPropertiesByKeyPath('call.uid', this._scene.getLocalUser().getLocalUserId());
|
|
65
69
|
const regionMap = {
|
|
66
70
|
cn: _type.FcrRoomConnectorPhoneRegion.CN
|
|
67
71
|
};
|
|
68
|
-
return Promise.resolve(callIn.map(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
return Promise.resolve(callIn.map(_ref3 => {
|
|
73
|
+
let {
|
|
74
|
+
callNumbers,
|
|
75
|
+
region
|
|
76
|
+
} = _ref3;
|
|
72
77
|
return {
|
|
73
78
|
region: regionMap[region],
|
|
74
79
|
phoneNumberList: callNumbers,
|
|
@@ -78,12 +83,14 @@ class FcrRoomConnectorControlImpl {
|
|
|
78
83
|
}));
|
|
79
84
|
}
|
|
80
85
|
getRoomConnectorIpInfo() {
|
|
86
|
+
var _ref4;
|
|
81
87
|
const mid = this._scene.getScenePropertiesByKeyPath('call.mid');
|
|
82
|
-
const callIn = this._scene.getScenePropertiesByKeyPath('call.callIn')
|
|
88
|
+
const callIn = (_ref4 = this._scene.getScenePropertiesByKeyPath('call.callIn')) !== null && _ref4 !== void 0 ? _ref4 : [];
|
|
83
89
|
return Promise.resolve({
|
|
84
|
-
addressList: callIn.reduce((prev, {
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
addressList: callIn.reduce((prev, _ref5) => {
|
|
91
|
+
let {
|
|
92
|
+
ipAddresses
|
|
93
|
+
} = _ref5;
|
|
87
94
|
if (Array.isArray(ipAddresses)) {
|
|
88
95
|
prev.push(...ipAddresses);
|
|
89
96
|
}
|
|
@@ -183,4 +190,6 @@ class FcrRoomConnectorControlImpl {
|
|
|
183
190
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onIPConnectorSessionStateUpdated', 'onPhoneConnectorSessionStateUpdated']));
|
|
184
191
|
}
|
|
185
192
|
}
|
|
186
|
-
exports.FcrRoomConnectorControlImpl = FcrRoomConnectorControlImpl;
|
|
193
|
+
exports.FcrRoomConnectorControlImpl = FcrRoomConnectorControlImpl;
|
|
194
|
+
_FcrRoomConnectorControlImpl = FcrRoomConnectorControlImpl;
|
|
195
|
+
[_initProto] = _applyDecs(_FcrRoomConnectorControlImpl, [[_imports.trace, 2, "getRoomConnectorPhoneInfo"], [_imports.trace, 2, "getRoomConnectorIpInfo"], [_startSessionByPhoneDecs, 2, "startSessionByPhone"], [_startSessionByIPDecs, 2, "startSessionByIP"], [_stopSessionDecs, 2, "stopSession"]], []).e;
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RoomControlFactory = void 0;
|
|
7
|
+
require("core-js/modules/es.error.cause.js");
|
|
7
8
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
9
|
require("core-js/modules/esnext.iterator.map.js");
|
|
9
10
|
var _type = require("./type");
|
|
@@ -53,11 +54,11 @@ class RoomControlFactory {
|
|
|
53
54
|
const roomType = roomResponse.room.roomProperties.roomType;
|
|
54
55
|
const RoomControlImpl = ROOM_CONTROL_IMPLEMENTATIONS[roomType];
|
|
55
56
|
if (!RoomControlImpl) {
|
|
56
|
-
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.UNDEFINED_ERROR,
|
|
57
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.UNDEFINED_ERROR, "Unsupported room types: ".concat(roomType), new Error("Unsupported room type: ".concat(roomType)));
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
// 创建聊天室控制
|
|
60
|
-
const chatRoomControl = new _chatroom.FcrChatRoomControlImpl(scene, chatConnection, sharedCache);
|
|
61
|
+
const chatRoomControl = new _chatroom.FcrChatRoomControlImpl(scene, chatConnection, sharedCache, false);
|
|
61
62
|
|
|
62
63
|
// 创建房间控制实例
|
|
63
64
|
return new RoomControlImpl(engine, scene, apiService, config, sharedCache, chatConnection, chatRoomControl);
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
3
4
|
require("core-js/modules/es.array.push.js");
|
|
4
5
|
require("core-js/modules/esnext.function.metadata.js");
|
|
6
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
5
8
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
6
9
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
7
10
|
Object.defineProperty(exports, "__esModule", {
|
|
8
11
|
value: true
|
|
9
12
|
});
|
|
10
13
|
exports.FcrRoomSessionControlImpl = void 0;
|
|
14
|
+
require("core-js/modules/es.error.cause.js");
|
|
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");
|
|
11
18
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
12
19
|
require("core-js/modules/esnext.map.emplace.js");
|
|
13
20
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -22,12 +29,19 @@ require("core-js/modules/esnext.map.merge.js");
|
|
|
22
29
|
require("core-js/modules/esnext.map.reduce.js");
|
|
23
30
|
require("core-js/modules/esnext.map.some.js");
|
|
24
31
|
require("core-js/modules/esnext.map.update.js");
|
|
32
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
33
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
34
|
var _imports = require("../../imports");
|
|
35
|
+
var _type = require("../../type");
|
|
26
36
|
var _error = require("../../utilities/error");
|
|
27
37
|
var _logger = require("../../utilities/logger");
|
|
28
38
|
var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
|
|
29
39
|
var _schema = require("../../schema");
|
|
30
|
-
|
|
40
|
+
var _helpers = require("../helpers");
|
|
41
|
+
var _FcrRoomSessionControlImpl;
|
|
42
|
+
let _initProto, _startRoomSessionDecs, _stopRoomSessionDecs, _acceptRoomSessionDecs, _rejectRoomSessionDecs, _ref;
|
|
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; }
|
|
44
|
+
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; }
|
|
31
45
|
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)]; } }; }
|
|
32
46
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
33
47
|
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); }
|
|
@@ -36,25 +50,21 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
36
50
|
/**
|
|
37
51
|
* @internal
|
|
38
52
|
*/
|
|
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");
|
|
39
54
|
class FcrRoomSessionControlImpl {
|
|
40
|
-
static {
|
|
41
|
-
[_initProto] = _applyDecs(this, [[_startRoomSessionDecs, 2, "startRoomSession"], [_stopRoomSessionDecs, 2, "stopRoomSession"], [_acceptRoomSessionDecs, 2, "acceptRoomSession"], [_rejectRoomSessionDecs, 2, "rejectRoomSession"]], []).e;
|
|
42
|
-
}
|
|
43
|
-
//@internal
|
|
44
|
-
[(_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")] = (_initProto(this), (0, _logger.createLogger)({
|
|
45
|
-
prefix: 'FcrRoomSessionControlImpl'
|
|
46
|
-
}));
|
|
47
|
-
//@internal
|
|
48
|
-
_observable = new _imports.AgoraObservable();
|
|
49
|
-
//@internal
|
|
50
|
-
_taskInterval = _imports.Duration.second(1);
|
|
51
|
-
//@internal
|
|
52
|
-
|
|
53
|
-
//@internal
|
|
54
|
-
_scheduleMap = new Map();
|
|
55
|
-
//@internal
|
|
56
|
-
_receivedMap = new Map();
|
|
57
55
|
constructor(_roomControl, _api, _userId) {
|
|
56
|
+
//@internal
|
|
57
|
+
(0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
58
|
+
prefix: 'FcrRoomSessionControlImpl'
|
|
59
|
+
})));
|
|
60
|
+
//@internal
|
|
61
|
+
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
62
|
+
//@internal
|
|
63
|
+
(0, _defineProperty2.default)(this, "_taskInterval", _imports.Duration.second(1));
|
|
64
|
+
//@internal
|
|
65
|
+
(0, _defineProperty2.default)(this, "_scheduleMap", new Map());
|
|
66
|
+
//@internal
|
|
67
|
+
(0, _defineProperty2.default)(this, "_receivedMap", new Map());
|
|
58
68
|
this._roomControl = _roomControl;
|
|
59
69
|
this._api = _api;
|
|
60
70
|
this._userId = _userId;
|
|
@@ -65,14 +75,15 @@ class FcrRoomSessionControlImpl {
|
|
|
65
75
|
});
|
|
66
76
|
this._task = _imports.AgoraScheduler.shared.addPollingTask(this._executeTask, this._taskInterval, true, () => _imports.ActionWhenTaskFail.CONTINUE);
|
|
67
77
|
}
|
|
68
|
-
async startRoomSession(params) {
|
|
78
|
+
async startRoomSession(params, targetRoles) {
|
|
69
79
|
try {
|
|
70
80
|
const session = {
|
|
71
|
-
sessionId: (0, _imports.md5)(
|
|
81
|
+
sessionId: (0, _imports.md5)("".concat(this._userId).concat(Date.now())),
|
|
72
82
|
sessionKey: params.sessionKey,
|
|
73
83
|
payload: params.payload,
|
|
74
84
|
duration: params.duration,
|
|
75
|
-
sender: this._userId
|
|
85
|
+
sender: this._userId,
|
|
86
|
+
targetRoles: targetRoles ? targetRoles.map(role => _type.FcrPrivilegeUserRoleToStringMap[role]) : undefined
|
|
76
87
|
};
|
|
77
88
|
const {
|
|
78
89
|
data: {
|
|
@@ -84,15 +95,16 @@ class FcrRoomSessionControlImpl {
|
|
|
84
95
|
sessionKey: session.sessionKey,
|
|
85
96
|
duration: session.duration,
|
|
86
97
|
payload: session.payload,
|
|
87
|
-
targetId: this._roomControl.getRoomInfo().roomId
|
|
98
|
+
targetId: this._roomControl.getRoomInfo().roomId,
|
|
99
|
+
targetRoles: session.targetRoles
|
|
88
100
|
});
|
|
89
101
|
const nextTs = Date.now() + interval;
|
|
90
|
-
this._scheduleMap.set(session.sessionId, {
|
|
91
|
-
|
|
102
|
+
this._scheduleMap.set(session.sessionId, _objectSpread(_objectSpread({}, params), {}, {
|
|
103
|
+
targetRoles: session.targetRoles,
|
|
92
104
|
nextTs,
|
|
93
105
|
startTs: Date.now()
|
|
94
|
-
});
|
|
95
|
-
this.logger.info(
|
|
106
|
+
}));
|
|
107
|
+
this.logger.info("[RoomSession] put into session schedule: ".concat(session.sessionId, ", next ts: ").concat(nextTs, ", remain: ").concat(nextTs - Date.now(), "ms"));
|
|
96
108
|
return session.sessionId;
|
|
97
109
|
} catch (e) {
|
|
98
110
|
throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'start room session failed', e);
|
|
@@ -111,6 +123,7 @@ class FcrRoomSessionControlImpl {
|
|
|
111
123
|
sessionId: session.sessionId,
|
|
112
124
|
sessionKey: session.sessionKey,
|
|
113
125
|
receiverIds: [session.senderId],
|
|
126
|
+
target: 2,
|
|
114
127
|
action: 1,
|
|
115
128
|
payload: {
|
|
116
129
|
cause
|
|
@@ -130,6 +143,7 @@ class FcrRoomSessionControlImpl {
|
|
|
130
143
|
sessionId: session.sessionId,
|
|
131
144
|
sessionKey: session.sessionKey,
|
|
132
145
|
receiverIds: [session.senderId],
|
|
146
|
+
target: 2,
|
|
133
147
|
action: 2,
|
|
134
148
|
payload: {
|
|
135
149
|
cause
|
|
@@ -158,16 +172,17 @@ class FcrRoomSessionControlImpl {
|
|
|
158
172
|
duration: params.duration,
|
|
159
173
|
senderId: this._userId,
|
|
160
174
|
timestamp: params.startTs,
|
|
175
|
+
targetRoles: params.targetRoles,
|
|
161
176
|
interval: 0
|
|
162
177
|
};
|
|
163
178
|
if (this._isSessionExpired(session)) {
|
|
164
|
-
this.logger.info(
|
|
179
|
+
this.logger.info("[RoomSession] room session expired, removed: ".concat(session.sessionId));
|
|
165
180
|
this._scheduleMap.delete(session.sessionId);
|
|
166
181
|
continue;
|
|
167
182
|
}
|
|
168
183
|
// check timeout
|
|
169
184
|
if (params.nextTs < Date.now()) {
|
|
170
|
-
this.logger.info(
|
|
185
|
+
this.logger.info("[RoomSession] ping session: ".concat(session.sessionId));
|
|
171
186
|
try {
|
|
172
187
|
const {
|
|
173
188
|
data: {
|
|
@@ -179,18 +194,18 @@ class FcrRoomSessionControlImpl {
|
|
|
179
194
|
sessionKey: session.sessionKey,
|
|
180
195
|
duration: params.duration,
|
|
181
196
|
payload: session.payload,
|
|
197
|
+
targetRoles: session.targetRoles,
|
|
182
198
|
targetId: this._roomControl.getRoomInfo().roomId
|
|
183
199
|
});
|
|
184
200
|
const nextTs = Date.now() + interval;
|
|
185
201
|
if (this._scheduleMap.has(session.sessionId)) {
|
|
186
|
-
this._scheduleMap.set(session.sessionId, {
|
|
187
|
-
...params,
|
|
202
|
+
this._scheduleMap.set(session.sessionId, _objectSpread(_objectSpread({}, params), {}, {
|
|
188
203
|
nextTs
|
|
189
|
-
});
|
|
190
|
-
this.logger.info(
|
|
204
|
+
}));
|
|
205
|
+
this.logger.info("[RoomSession] refresh session schedule: ".concat(session.sessionId, ", next ts: ").concat(nextTs));
|
|
191
206
|
}
|
|
192
207
|
} catch (e) {
|
|
193
|
-
this.logger.error(
|
|
208
|
+
this.logger.error("[RoomSession] ping session failed: ".concat(e));
|
|
194
209
|
}
|
|
195
210
|
}
|
|
196
211
|
}
|
|
@@ -199,7 +214,7 @@ class FcrRoomSessionControlImpl {
|
|
|
199
214
|
const session = this._receivedMap.get(key);
|
|
200
215
|
if (this._isSessionExpired(session)) {
|
|
201
216
|
this._receivedMap.delete(key);
|
|
202
|
-
this.logger.info(
|
|
217
|
+
this.logger.info("[RoomSession] delete session callback: ".concat(key));
|
|
203
218
|
}
|
|
204
219
|
}
|
|
205
220
|
}
|
|
@@ -208,13 +223,11 @@ class FcrRoomSessionControlImpl {
|
|
|
208
223
|
async _handleRoomMessage(roomId, message) {
|
|
209
224
|
const {
|
|
210
225
|
senderId,
|
|
211
|
-
payload
|
|
212
|
-
} = message;
|
|
213
|
-
const {
|
|
214
|
-
data,
|
|
226
|
+
payload,
|
|
215
227
|
cmd
|
|
216
|
-
} =
|
|
217
|
-
|
|
228
|
+
} = message;
|
|
229
|
+
const data = payload;
|
|
230
|
+
if (cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_SESSION_REQUEST) {
|
|
218
231
|
const session = {
|
|
219
232
|
sessionId: data.sessionUuid,
|
|
220
233
|
sessionKey: data.sessionKey,
|
|
@@ -230,14 +243,17 @@ class FcrRoomSessionControlImpl {
|
|
|
230
243
|
}
|
|
231
244
|
if (!this._isSessionExpired(session)) {
|
|
232
245
|
if (!this._receivedMap.has(session.sessionId)) {
|
|
233
|
-
this.logger.info(
|
|
246
|
+
this.logger.info("[RoomSession] received room session request ".concat(JSON.stringify(session)));
|
|
234
247
|
this._observable.notifyObservers('onRoomSessionReceived', roomId, session);
|
|
235
248
|
}
|
|
236
249
|
this._receivedMap.set(session.sessionId, session);
|
|
237
250
|
}
|
|
238
|
-
} 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 的消息.
|
|
239
254
|
if (data.action === 1) {
|
|
240
255
|
if (this._scheduleMap.has(data.sessionUuid)) {
|
|
256
|
+
var _session$payload, _ref2, _data$payload;
|
|
241
257
|
const session = this._scheduleMap.get(data.sessionUuid);
|
|
242
258
|
const sessionResponse = {
|
|
243
259
|
sessionId: data.sessionUuid,
|
|
@@ -245,15 +261,16 @@ class FcrRoomSessionControlImpl {
|
|
|
245
261
|
responderId: senderId,
|
|
246
262
|
// FIXME: session may be lost when the client refreshes
|
|
247
263
|
// get payload from original session
|
|
248
|
-
payload: session.payload
|
|
249
|
-
cause: data.payload
|
|
264
|
+
payload: (_session$payload = session.payload) !== null && _session$payload !== void 0 ? _session$payload : {},
|
|
265
|
+
cause: (_ref2 = (_data$payload = data.payload) === null || _data$payload === void 0 ? void 0 : _data$payload.cause) !== null && _ref2 !== void 0 ? _ref2 : {}
|
|
250
266
|
};
|
|
251
|
-
this.logger.info(
|
|
267
|
+
this.logger.info("[RoomSession] received room session accepted ".concat(JSON.stringify(sessionResponse)));
|
|
252
268
|
this._scheduleMap.delete(data.sessionUuid);
|
|
253
269
|
this._observable.notifyObservers('onRoomSessionAccepted', roomId, sessionResponse);
|
|
254
270
|
}
|
|
255
271
|
} else if (data.action === 2) {
|
|
256
272
|
if (this._scheduleMap.has(data.sessionUuid)) {
|
|
273
|
+
var _session$payload2, _ref3, _data$payload2;
|
|
257
274
|
const session = this._scheduleMap.get(data.sessionUuid);
|
|
258
275
|
const sessionResponse = {
|
|
259
276
|
sessionId: data.sessionUuid,
|
|
@@ -261,10 +278,10 @@ class FcrRoomSessionControlImpl {
|
|
|
261
278
|
responderId: senderId,
|
|
262
279
|
// FIXME: session may be lost when the client refreshes
|
|
263
280
|
// get payload from original session
|
|
264
|
-
payload: session.payload
|
|
265
|
-
cause: data.payload
|
|
281
|
+
payload: (_session$payload2 = session.payload) !== null && _session$payload2 !== void 0 ? _session$payload2 : {},
|
|
282
|
+
cause: (_ref3 = (_data$payload2 = data.payload) === null || _data$payload2 === void 0 ? void 0 : _data$payload2.cause) !== null && _ref3 !== void 0 ? _ref3 : {}
|
|
266
283
|
};
|
|
267
|
-
this.logger.info(
|
|
284
|
+
this.logger.info("[RoomSession] received room session rejected ".concat(JSON.stringify(sessionResponse)));
|
|
268
285
|
if (this._scheduleMap.has(data.sessionUuid)) {
|
|
269
286
|
this._scheduleMap.delete(data.sessionUuid);
|
|
270
287
|
this._observable.notifyObservers('onRoomSessionRejected', roomId, sessionResponse);
|
|
@@ -282,4 +299,6 @@ class FcrRoomSessionControlImpl {
|
|
|
282
299
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onRoomSessionAccepted', 'onRoomSessionRejected', 'onRoomSessionReceived']));
|
|
283
300
|
}
|
|
284
301
|
}
|
|
285
|
-
exports.FcrRoomSessionControlImpl = FcrRoomSessionControlImpl;
|
|
302
|
+
exports.FcrRoomSessionControlImpl = FcrRoomSessionControlImpl;
|
|
303
|
+
_FcrRoomSessionControlImpl = FcrRoomSessionControlImpl;
|
|
304
|
+
[_initProto] = _applyDecs(_FcrRoomSessionControlImpl, [[_startRoomSessionDecs, 2, "startRoomSession"], [_stopRoomSessionDecs, 2, "stopRoomSession"], [_acceptRoomSessionDecs, 2, "acceptRoomSession"], [_rejectRoomSessionDecs, 2, "rejectRoomSession"]], []).e;
|
|
@@ -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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -18,38 +19,44 @@ require("core-js/modules/esnext.map.merge.js");
|
|
|
18
19
|
require("core-js/modules/esnext.map.reduce.js");
|
|
19
20
|
require("core-js/modules/esnext.map.some.js");
|
|
20
21
|
require("core-js/modules/esnext.map.update.js");
|
|
22
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
23
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
24
|
class FcrRoomCache {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
constructor() {
|
|
26
|
+
(0, _defineProperty2.default)(this, "_platformMapByUserId", new Map());
|
|
27
|
+
(0, _defineProperty2.default)(this, "_avatarMapByUserId", new Map());
|
|
28
|
+
(0, _defineProperty2.default)(this, "getUserPlatform", userId => {
|
|
29
|
+
return this._platformMapByUserId.get(userId);
|
|
30
|
+
});
|
|
31
|
+
(0, _defineProperty2.default)(this, "getUserAvatar", userId => {
|
|
32
|
+
return this._avatarMapByUserId.get(userId);
|
|
33
|
+
});
|
|
34
|
+
(0, _defineProperty2.default)(this, "setUserPlatform", (userId, platform) => {
|
|
35
|
+
this._platformMapByUserId.set(userId, platform);
|
|
36
|
+
});
|
|
37
|
+
(0, _defineProperty2.default)(this, "setUserAvatar", (userId, avatar) => {
|
|
38
|
+
this._avatarMapByUserId.set(userId, avatar);
|
|
39
|
+
});
|
|
40
|
+
(0, _defineProperty2.default)(this, "deleteUserPlatform", userId => {
|
|
41
|
+
this._platformMapByUserId.delete(userId);
|
|
42
|
+
});
|
|
43
|
+
(0, _defineProperty2.default)(this, "deleteUserAvatar", userId => {
|
|
44
|
+
this._avatarMapByUserId.delete(userId);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
48
|
exports.FcrRoomCache = FcrRoomCache;
|
|
44
49
|
class FcrSharedCache {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
constructor() {
|
|
51
|
+
(0, _defineProperty2.default)(this, "_roomCache", new Map());
|
|
52
|
+
(0, _defineProperty2.default)(this, "getRoomCache", roomId => {
|
|
53
|
+
let roomCache = this._roomCache.get(roomId);
|
|
54
|
+
if (!roomCache) {
|
|
55
|
+
roomCache = new FcrRoomCache();
|
|
56
|
+
this._roomCache.set(roomId, roomCache);
|
|
57
|
+
}
|
|
58
|
+
return roomCache;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
exports.FcrSharedCache = FcrSharedCache;
|
|
@@ -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;
|