polfan-server-js-client 0.1.36 → 0.1.37
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/build/index.js +365 -194
- package/build/index.js.map +1 -1
- package/build/types/state-tracker/AsyncUtils.d.ts +14 -0
- package/build/types/state-tracker/PermissionsManager.d.ts +9 -0
- package/build/types/state-tracker/RoomsManager.d.ts +1 -0
- package/build/types/state-tracker/SpacesManager.d.ts +2 -0
- package/package.json +1 -1
- package/src/state-tracker/AsyncUtils.ts +38 -0
- package/src/state-tracker/ChatStateTracker.ts +1 -1
- package/src/state-tracker/PermissionsManager.ts +61 -14
- package/src/state-tracker/RoomsManager.ts +12 -9
- package/src/state-tracker/SpacesManager.ts +23 -17
- package/tests/async-utils.test.ts +30 -0
- package/build/types/state-tracker/DeferredTask.d.ts +0 -5
- package/src/state-tracker/DeferredTask.ts +0 -8
package/build/index.js
CHANGED
|
@@ -562,23 +562,63 @@ var ObservableIndexedObjectCollection = /*#__PURE__*/function (_IndexedObjectCol
|
|
|
562
562
|
}]);
|
|
563
563
|
return ObservableIndexedObjectCollection;
|
|
564
564
|
}(IndexedObjectCollection);
|
|
565
|
-
;// CONCATENATED MODULE: ./src/state-tracker/
|
|
566
|
-
function
|
|
567
|
-
function
|
|
568
|
-
function
|
|
569
|
-
function
|
|
570
|
-
function
|
|
571
|
-
function
|
|
572
|
-
function
|
|
573
|
-
|
|
565
|
+
;// CONCATENATED MODULE: ./src/state-tracker/AsyncUtils.ts
|
|
566
|
+
function AsyncUtils_typeof(obj) { "@babel/helpers - typeof"; return AsyncUtils_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, AsyncUtils_typeof(obj); }
|
|
567
|
+
function AsyncUtils_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, AsyncUtils_toPropertyKey(descriptor.key), descriptor); } }
|
|
568
|
+
function AsyncUtils_createClass(Constructor, protoProps, staticProps) { if (protoProps) AsyncUtils_defineProperties(Constructor.prototype, protoProps); if (staticProps) AsyncUtils_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
569
|
+
function AsyncUtils_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
570
|
+
function AsyncUtils_defineProperty(obj, key, value) { key = AsyncUtils_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
571
|
+
function AsyncUtils_toPropertyKey(arg) { var key = AsyncUtils_toPrimitive(arg, "string"); return AsyncUtils_typeof(key) === "symbol" ? key : String(key); }
|
|
572
|
+
function AsyncUtils_toPrimitive(input, hint) { if (AsyncUtils_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (AsyncUtils_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
573
|
+
|
|
574
|
+
var DeferredTask = /*#__PURE__*/AsyncUtils_createClass(function DeferredTask() {
|
|
574
575
|
var _this = this;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
576
|
+
AsyncUtils_classCallCheck(this, DeferredTask);
|
|
577
|
+
AsyncUtils_defineProperty(this, "promise", void 0);
|
|
578
|
+
AsyncUtils_defineProperty(this, "resolve", void 0);
|
|
578
579
|
this.promise = new Promise(function (resolve) {
|
|
579
580
|
return _this.resolve = resolve;
|
|
580
581
|
});
|
|
581
582
|
});
|
|
583
|
+
var PromiseRegistry = /*#__PURE__*/function () {
|
|
584
|
+
function PromiseRegistry() {
|
|
585
|
+
AsyncUtils_classCallCheck(this, PromiseRegistry);
|
|
586
|
+
AsyncUtils_defineProperty(this, "promises", new IndexedCollection());
|
|
587
|
+
}
|
|
588
|
+
AsyncUtils_createClass(PromiseRegistry, [{
|
|
589
|
+
key: "register",
|
|
590
|
+
value: function register(promise, key) {
|
|
591
|
+
this.promises.set([key, promise]);
|
|
592
|
+
}
|
|
593
|
+
}, {
|
|
594
|
+
key: "registerByFunction",
|
|
595
|
+
value: function registerByFunction(fn, key) {
|
|
596
|
+
this.register(fn(), key);
|
|
597
|
+
}
|
|
598
|
+
}, {
|
|
599
|
+
key: "get",
|
|
600
|
+
value: function get(key) {
|
|
601
|
+
return this.promises.get(key);
|
|
602
|
+
}
|
|
603
|
+
}, {
|
|
604
|
+
key: "has",
|
|
605
|
+
value: function has(key) {
|
|
606
|
+
return this.promises.has(key);
|
|
607
|
+
}
|
|
608
|
+
}, {
|
|
609
|
+
key: "notExist",
|
|
610
|
+
value: function notExist(key) {
|
|
611
|
+
return !this.has(key);
|
|
612
|
+
}
|
|
613
|
+
}, {
|
|
614
|
+
key: "forget",
|
|
615
|
+
value: function forget() {
|
|
616
|
+
var _this$promises;
|
|
617
|
+
(_this$promises = this.promises)["delete"].apply(_this$promises, arguments);
|
|
618
|
+
}
|
|
619
|
+
}]);
|
|
620
|
+
return PromiseRegistry;
|
|
621
|
+
}();
|
|
582
622
|
;// CONCATENATED MODULE: ./src/state-tracker/MessagesManager.ts
|
|
583
623
|
function MessagesManager_typeof(obj) { "@babel/helpers - typeof"; return MessagesManager_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, MessagesManager_typeof(obj); }
|
|
584
624
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -900,6 +940,7 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
900
940
|
RoomsManager_defineProperty(this, "topics", new IndexedCollection());
|
|
901
941
|
RoomsManager_defineProperty(this, "members", new IndexedCollection());
|
|
902
942
|
RoomsManager_defineProperty(this, "deferredSession", new DeferredTask());
|
|
943
|
+
RoomsManager_defineProperty(this, "membersPromises", new PromiseRegistry());
|
|
903
944
|
this.messages = new MessagesManager(tracker);
|
|
904
945
|
this.tracker.client.on('NewTopic', function (ev) {
|
|
905
946
|
return _this.handleNewTopic(ev);
|
|
@@ -942,37 +983,50 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
942
983
|
RoomsManager_createClass(RoomsManager, [{
|
|
943
984
|
key: "getMembers",
|
|
944
985
|
value: function () {
|
|
945
|
-
var _getMembers = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function
|
|
946
|
-
var
|
|
947
|
-
return RoomsManager_regeneratorRuntime().wrap(function
|
|
986
|
+
var _getMembers = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function _callee2(roomId) {
|
|
987
|
+
var _this2 = this;
|
|
988
|
+
return RoomsManager_regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
948
989
|
while (1) {
|
|
949
|
-
switch (
|
|
990
|
+
switch (_context2.prev = _context2.next) {
|
|
950
991
|
case 0:
|
|
951
|
-
if (this.
|
|
952
|
-
|
|
953
|
-
|
|
992
|
+
if (this.membersPromises.notExist(roomId)) {
|
|
993
|
+
this.membersPromises.registerByFunction( /*#__PURE__*/RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function _callee() {
|
|
994
|
+
var result;
|
|
995
|
+
return RoomsManager_regeneratorRuntime().wrap(function _callee$(_context) {
|
|
996
|
+
while (1) {
|
|
997
|
+
switch (_context.prev = _context.next) {
|
|
998
|
+
case 0:
|
|
999
|
+
_context.next = 2;
|
|
1000
|
+
return _this2.tracker.client.send('GetRoomMembers', {
|
|
1001
|
+
id: roomId
|
|
1002
|
+
});
|
|
1003
|
+
case 2:
|
|
1004
|
+
result = _context.sent;
|
|
1005
|
+
if (!result.error) {
|
|
1006
|
+
_context.next = 5;
|
|
1007
|
+
break;
|
|
1008
|
+
}
|
|
1009
|
+
throw result.error;
|
|
1010
|
+
case 5:
|
|
1011
|
+
_this2.handleRoomMembers(result.data);
|
|
1012
|
+
case 6:
|
|
1013
|
+
case "end":
|
|
1014
|
+
return _context.stop();
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}, _callee);
|
|
1018
|
+
})), roomId);
|
|
954
1019
|
}
|
|
955
|
-
|
|
956
|
-
return this.
|
|
957
|
-
id: roomId
|
|
958
|
-
});
|
|
1020
|
+
_context2.next = 3;
|
|
1021
|
+
return this.membersPromises.get(roomId);
|
|
959
1022
|
case 3:
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
_context.next = 6;
|
|
963
|
-
break;
|
|
964
|
-
}
|
|
965
|
-
throw result.error;
|
|
966
|
-
case 6:
|
|
967
|
-
this.handleRoomMembers(result.data);
|
|
968
|
-
case 7:
|
|
969
|
-
return _context.abrupt("return", this.members.get(roomId));
|
|
970
|
-
case 8:
|
|
1023
|
+
return _context2.abrupt("return", this.members.get(roomId));
|
|
1024
|
+
case 4:
|
|
971
1025
|
case "end":
|
|
972
|
-
return
|
|
1026
|
+
return _context2.stop();
|
|
973
1027
|
}
|
|
974
1028
|
}
|
|
975
|
-
},
|
|
1029
|
+
}, _callee2, this);
|
|
976
1030
|
}));
|
|
977
1031
|
function getMembers(_x) {
|
|
978
1032
|
return _getMembers.apply(this, arguments);
|
|
@@ -985,36 +1039,36 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
985
1039
|
}, {
|
|
986
1040
|
key: "getMe",
|
|
987
1041
|
value: function () {
|
|
988
|
-
var _getMe = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function
|
|
1042
|
+
var _getMe = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function _callee3(roomId) {
|
|
989
1043
|
var userId, members;
|
|
990
|
-
return RoomsManager_regeneratorRuntime().wrap(function
|
|
1044
|
+
return RoomsManager_regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
991
1045
|
while (1) {
|
|
992
|
-
switch (
|
|
1046
|
+
switch (_context3.prev = _context3.next) {
|
|
993
1047
|
case 0:
|
|
994
|
-
|
|
1048
|
+
_context3.next = 2;
|
|
995
1049
|
return this.tracker.getMe();
|
|
996
1050
|
case 2:
|
|
997
|
-
userId =
|
|
998
|
-
|
|
1051
|
+
userId = _context3.sent.id;
|
|
1052
|
+
_context3.next = 5;
|
|
999
1053
|
return this.getMembers(roomId);
|
|
1000
1054
|
case 5:
|
|
1001
|
-
members =
|
|
1055
|
+
members = _context3.sent;
|
|
1002
1056
|
if (members) {
|
|
1003
|
-
|
|
1057
|
+
_context3.next = 8;
|
|
1004
1058
|
break;
|
|
1005
1059
|
}
|
|
1006
|
-
return
|
|
1060
|
+
return _context3.abrupt("return", undefined);
|
|
1007
1061
|
case 8:
|
|
1008
|
-
return
|
|
1062
|
+
return _context3.abrupt("return", members.items.find(function (member) {
|
|
1009
1063
|
var _member$user$id, _member$user;
|
|
1010
1064
|
return ((_member$user$id = (_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.id) !== null && _member$user$id !== void 0 ? _member$user$id : member.spaceMember.user.id) === userId;
|
|
1011
1065
|
}));
|
|
1012
1066
|
case 9:
|
|
1013
1067
|
case "end":
|
|
1014
|
-
return
|
|
1068
|
+
return _context3.stop();
|
|
1015
1069
|
}
|
|
1016
1070
|
}
|
|
1017
|
-
},
|
|
1071
|
+
}, _callee3, this);
|
|
1018
1072
|
}));
|
|
1019
1073
|
function getMe(_x2) {
|
|
1020
1074
|
return _getMe.apply(this, arguments);
|
|
@@ -1027,21 +1081,21 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
1027
1081
|
}, {
|
|
1028
1082
|
key: "get",
|
|
1029
1083
|
value: function () {
|
|
1030
|
-
var _get = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function
|
|
1031
|
-
return RoomsManager_regeneratorRuntime().wrap(function
|
|
1084
|
+
var _get = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function _callee4() {
|
|
1085
|
+
return RoomsManager_regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1032
1086
|
while (1) {
|
|
1033
|
-
switch (
|
|
1087
|
+
switch (_context4.prev = _context4.next) {
|
|
1034
1088
|
case 0:
|
|
1035
|
-
|
|
1089
|
+
_context4.next = 2;
|
|
1036
1090
|
return this.deferredSession.promise;
|
|
1037
1091
|
case 2:
|
|
1038
|
-
return
|
|
1092
|
+
return _context4.abrupt("return", this.list);
|
|
1039
1093
|
case 3:
|
|
1040
1094
|
case "end":
|
|
1041
|
-
return
|
|
1095
|
+
return _context4.stop();
|
|
1042
1096
|
}
|
|
1043
1097
|
}
|
|
1044
|
-
},
|
|
1098
|
+
}, _callee4, this);
|
|
1045
1099
|
}));
|
|
1046
1100
|
function get() {
|
|
1047
1101
|
return _get.apply(this, arguments);
|
|
@@ -1054,21 +1108,21 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
1054
1108
|
}, {
|
|
1055
1109
|
key: "getTopics",
|
|
1056
1110
|
value: function () {
|
|
1057
|
-
var _getTopics = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function
|
|
1058
|
-
return RoomsManager_regeneratorRuntime().wrap(function
|
|
1111
|
+
var _getTopics = RoomsManager_asyncToGenerator( /*#__PURE__*/RoomsManager_regeneratorRuntime().mark(function _callee5(roomId) {
|
|
1112
|
+
return RoomsManager_regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1059
1113
|
while (1) {
|
|
1060
|
-
switch (
|
|
1114
|
+
switch (_context5.prev = _context5.next) {
|
|
1061
1115
|
case 0:
|
|
1062
|
-
|
|
1116
|
+
_context5.next = 2;
|
|
1063
1117
|
return this.deferredSession.promise;
|
|
1064
1118
|
case 2:
|
|
1065
|
-
return
|
|
1119
|
+
return _context5.abrupt("return", this.topics.get(roomId));
|
|
1066
1120
|
case 3:
|
|
1067
1121
|
case "end":
|
|
1068
|
-
return
|
|
1122
|
+
return _context5.stop();
|
|
1069
1123
|
}
|
|
1070
1124
|
}
|
|
1071
|
-
},
|
|
1125
|
+
}, _callee5, this);
|
|
1072
1126
|
}));
|
|
1073
1127
|
function getTopics(_x3) {
|
|
1074
1128
|
return _getTopics.apply(this, arguments);
|
|
@@ -1082,12 +1136,13 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
1082
1136
|
}, {
|
|
1083
1137
|
key: "_delete",
|
|
1084
1138
|
value: function _delete() {
|
|
1085
|
-
var _this$list, _this$members, _this$topics;
|
|
1139
|
+
var _this$list, _this$members, _this$membersPromises, _this$topics;
|
|
1086
1140
|
for (var _len = arguments.length, roomIds = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1087
1141
|
roomIds[_key] = arguments[_key];
|
|
1088
1142
|
}
|
|
1089
1143
|
(_this$list = this.list)["delete"].apply(_this$list, roomIds);
|
|
1090
1144
|
(_this$members = this.members)["delete"].apply(_this$members, roomIds);
|
|
1145
|
+
(_this$membersPromises = this.membersPromises).forget.apply(_this$membersPromises, roomIds);
|
|
1091
1146
|
for (var _i = 0, _roomIds = roomIds; _i < _roomIds.length; _i++) {
|
|
1092
1147
|
var _this$topics$get$map, _this$topics$get, _this$messages;
|
|
1093
1148
|
var roomId = _roomIds[_i];
|
|
@@ -1318,6 +1373,8 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1318
1373
|
SpacesManager_defineProperty(this, "rooms", new IndexedCollection());
|
|
1319
1374
|
SpacesManager_defineProperty(this, "members", new IndexedCollection());
|
|
1320
1375
|
SpacesManager_defineProperty(this, "deferredSession", new DeferredTask());
|
|
1376
|
+
SpacesManager_defineProperty(this, "roomsPromises", new PromiseRegistry());
|
|
1377
|
+
SpacesManager_defineProperty(this, "membersPromises", new PromiseRegistry());
|
|
1321
1378
|
this.tracker.client.on('NewRoom', function (ev) {
|
|
1322
1379
|
return _this.handleNewRoom(ev);
|
|
1323
1380
|
});
|
|
@@ -1425,37 +1482,50 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1425
1482
|
}, {
|
|
1426
1483
|
key: "getRooms",
|
|
1427
1484
|
value: function () {
|
|
1428
|
-
var _getRooms = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function
|
|
1429
|
-
var
|
|
1430
|
-
return SpacesManager_regeneratorRuntime().wrap(function
|
|
1485
|
+
var _getRooms = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee4(spaceId) {
|
|
1486
|
+
var _this2 = this;
|
|
1487
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1431
1488
|
while (1) {
|
|
1432
|
-
switch (
|
|
1489
|
+
switch (_context4.prev = _context4.next) {
|
|
1433
1490
|
case 0:
|
|
1434
|
-
if (this.
|
|
1435
|
-
|
|
1436
|
-
|
|
1491
|
+
if (this.roomsPromises.notExist(spaceId)) {
|
|
1492
|
+
this.roomsPromises.registerByFunction( /*#__PURE__*/SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee3() {
|
|
1493
|
+
var result;
|
|
1494
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1495
|
+
while (1) {
|
|
1496
|
+
switch (_context3.prev = _context3.next) {
|
|
1497
|
+
case 0:
|
|
1498
|
+
_context3.next = 2;
|
|
1499
|
+
return _this2.tracker.client.send('GetSpaceRooms', {
|
|
1500
|
+
id: spaceId
|
|
1501
|
+
});
|
|
1502
|
+
case 2:
|
|
1503
|
+
result = _context3.sent;
|
|
1504
|
+
if (!result.error) {
|
|
1505
|
+
_context3.next = 5;
|
|
1506
|
+
break;
|
|
1507
|
+
}
|
|
1508
|
+
throw result.error;
|
|
1509
|
+
case 5:
|
|
1510
|
+
_this2.handleSpaceRooms(result.data);
|
|
1511
|
+
case 6:
|
|
1512
|
+
case "end":
|
|
1513
|
+
return _context3.stop();
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
}, _callee3);
|
|
1517
|
+
})), spaceId);
|
|
1437
1518
|
}
|
|
1438
|
-
|
|
1439
|
-
return this.
|
|
1440
|
-
id: spaceId
|
|
1441
|
-
});
|
|
1519
|
+
_context4.next = 3;
|
|
1520
|
+
return this.roomsPromises.get(spaceId);
|
|
1442
1521
|
case 3:
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
_context3.next = 6;
|
|
1446
|
-
break;
|
|
1447
|
-
}
|
|
1448
|
-
throw result.error;
|
|
1449
|
-
case 6:
|
|
1450
|
-
this.handleSpaceRooms(result.data);
|
|
1451
|
-
case 7:
|
|
1452
|
-
return _context3.abrupt("return", this.rooms.get(spaceId));
|
|
1453
|
-
case 8:
|
|
1522
|
+
return _context4.abrupt("return", this.rooms.get(spaceId));
|
|
1523
|
+
case 4:
|
|
1454
1524
|
case "end":
|
|
1455
|
-
return
|
|
1525
|
+
return _context4.stop();
|
|
1456
1526
|
}
|
|
1457
1527
|
}
|
|
1458
|
-
},
|
|
1528
|
+
}, _callee4, this);
|
|
1459
1529
|
}));
|
|
1460
1530
|
function getRooms(_x2) {
|
|
1461
1531
|
return _getRooms.apply(this, arguments);
|
|
@@ -1468,37 +1538,50 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1468
1538
|
}, {
|
|
1469
1539
|
key: "getMembers",
|
|
1470
1540
|
value: function () {
|
|
1471
|
-
var _getMembers = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function
|
|
1472
|
-
var
|
|
1473
|
-
return SpacesManager_regeneratorRuntime().wrap(function
|
|
1541
|
+
var _getMembers = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee6(spaceId) {
|
|
1542
|
+
var _this3 = this;
|
|
1543
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1474
1544
|
while (1) {
|
|
1475
|
-
switch (
|
|
1545
|
+
switch (_context6.prev = _context6.next) {
|
|
1476
1546
|
case 0:
|
|
1477
|
-
if (this.
|
|
1478
|
-
|
|
1479
|
-
|
|
1547
|
+
if (this.membersPromises.notExist(spaceId)) {
|
|
1548
|
+
this.membersPromises.registerByFunction( /*#__PURE__*/SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee5() {
|
|
1549
|
+
var result;
|
|
1550
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1551
|
+
while (1) {
|
|
1552
|
+
switch (_context5.prev = _context5.next) {
|
|
1553
|
+
case 0:
|
|
1554
|
+
_context5.next = 2;
|
|
1555
|
+
return _this3.tracker.client.send('GetSpaceMembers', {
|
|
1556
|
+
id: spaceId
|
|
1557
|
+
});
|
|
1558
|
+
case 2:
|
|
1559
|
+
result = _context5.sent;
|
|
1560
|
+
if (!result.error) {
|
|
1561
|
+
_context5.next = 5;
|
|
1562
|
+
break;
|
|
1563
|
+
}
|
|
1564
|
+
throw result.error;
|
|
1565
|
+
case 5:
|
|
1566
|
+
_this3.handleSpaceMembers(result.data);
|
|
1567
|
+
case 6:
|
|
1568
|
+
case "end":
|
|
1569
|
+
return _context5.stop();
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
}, _callee5);
|
|
1573
|
+
})), spaceId);
|
|
1480
1574
|
}
|
|
1481
|
-
|
|
1482
|
-
return this.
|
|
1483
|
-
id: spaceId
|
|
1484
|
-
});
|
|
1575
|
+
_context6.next = 3;
|
|
1576
|
+
return this.membersPromises.get(spaceId);
|
|
1485
1577
|
case 3:
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
_context4.next = 6;
|
|
1489
|
-
break;
|
|
1490
|
-
}
|
|
1491
|
-
throw result.error;
|
|
1492
|
-
case 6:
|
|
1493
|
-
this.handleSpaceMembers(result.data);
|
|
1494
|
-
case 7:
|
|
1495
|
-
return _context4.abrupt("return", this.members.get(spaceId));
|
|
1496
|
-
case 8:
|
|
1578
|
+
return _context6.abrupt("return", this.members.get(spaceId));
|
|
1579
|
+
case 4:
|
|
1497
1580
|
case "end":
|
|
1498
|
-
return
|
|
1581
|
+
return _context6.stop();
|
|
1499
1582
|
}
|
|
1500
1583
|
}
|
|
1501
|
-
},
|
|
1584
|
+
}, _callee6, this);
|
|
1502
1585
|
}));
|
|
1503
1586
|
function getMembers(_x3) {
|
|
1504
1587
|
return _getMembers.apply(this, arguments);
|
|
@@ -1511,35 +1594,35 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1511
1594
|
}, {
|
|
1512
1595
|
key: "getMe",
|
|
1513
1596
|
value: function () {
|
|
1514
|
-
var _getMe = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function
|
|
1597
|
+
var _getMe = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee7(spaceId) {
|
|
1515
1598
|
var userId, members;
|
|
1516
|
-
return SpacesManager_regeneratorRuntime().wrap(function
|
|
1599
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1517
1600
|
while (1) {
|
|
1518
|
-
switch (
|
|
1601
|
+
switch (_context7.prev = _context7.next) {
|
|
1519
1602
|
case 0:
|
|
1520
|
-
|
|
1603
|
+
_context7.next = 2;
|
|
1521
1604
|
return this.tracker.getMe();
|
|
1522
1605
|
case 2:
|
|
1523
|
-
userId =
|
|
1524
|
-
|
|
1606
|
+
userId = _context7.sent.id;
|
|
1607
|
+
_context7.next = 5;
|
|
1525
1608
|
return this.getMembers(spaceId);
|
|
1526
1609
|
case 5:
|
|
1527
|
-
members =
|
|
1610
|
+
members = _context7.sent;
|
|
1528
1611
|
if (members) {
|
|
1529
|
-
|
|
1612
|
+
_context7.next = 8;
|
|
1530
1613
|
break;
|
|
1531
1614
|
}
|
|
1532
|
-
return
|
|
1615
|
+
return _context7.abrupt("return", undefined);
|
|
1533
1616
|
case 8:
|
|
1534
|
-
return
|
|
1617
|
+
return _context7.abrupt("return", members.items.find(function (member) {
|
|
1535
1618
|
return member.user.id === userId;
|
|
1536
1619
|
}));
|
|
1537
1620
|
case 9:
|
|
1538
1621
|
case "end":
|
|
1539
|
-
return
|
|
1622
|
+
return _context7.stop();
|
|
1540
1623
|
}
|
|
1541
1624
|
}
|
|
1542
|
-
},
|
|
1625
|
+
}, _callee7, this);
|
|
1543
1626
|
}));
|
|
1544
1627
|
function getMe(_x4) {
|
|
1545
1628
|
return _getMe.apply(this, arguments);
|
|
@@ -1580,7 +1663,9 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1580
1663
|
this.tracker.rooms._deleteBySpaceId(ev.id);
|
|
1581
1664
|
this.roles["delete"](ev.id);
|
|
1582
1665
|
this.members["delete"](ev.id);
|
|
1666
|
+
this.membersPromises.forget(ev.id);
|
|
1583
1667
|
this.rooms["delete"](ev.id);
|
|
1668
|
+
this.roomsPromises.forget(ev.id);
|
|
1584
1669
|
this.list["delete"](ev.id);
|
|
1585
1670
|
}
|
|
1586
1671
|
}, {
|
|
@@ -1733,8 +1818,9 @@ function PermissionsManager_toPrimitive(input, hint) { if (PermissionsManager_ty
|
|
|
1733
1818
|
|
|
1734
1819
|
|
|
1735
1820
|
|
|
1821
|
+
|
|
1736
1822
|
var getOvId = function getOvId(layer, layerId, target, targetId) {
|
|
1737
|
-
return layer + (layerId !== null && layerId !== void 0 ? layerId : '') + target + targetId;
|
|
1823
|
+
return layer + (layerId !== null && layerId !== void 0 ? layerId : '') + (target !== null && target !== void 0 ? target : '') + (targetId !== null && targetId !== void 0 ? targetId : '');
|
|
1738
1824
|
};
|
|
1739
1825
|
var getOvIdByObject = function getOvIdByObject(overwrites) {
|
|
1740
1826
|
return getOvId(overwrites.layer, overwrites.layerId, overwrites.target, overwrites.targetId);
|
|
@@ -1748,46 +1834,85 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1748
1834
|
_this = _super.call(this);
|
|
1749
1835
|
_this.tracker = tracker;
|
|
1750
1836
|
PermissionsManager_defineProperty(PermissionsManager_assertThisInitialized(_this), "overwrites", new IndexedCollection());
|
|
1837
|
+
PermissionsManager_defineProperty(PermissionsManager_assertThisInitialized(_this), "overwritesPromises", new PromiseRegistry());
|
|
1751
1838
|
_this.tracker.client.on('PermissionOverwrites', function (ev) {
|
|
1752
1839
|
return _this.handlePermissionOverwrites(ev);
|
|
1753
1840
|
});
|
|
1754
1841
|
_this.tracker.client.on('PermissionOverwritesChanged', function (ev) {
|
|
1755
1842
|
return _this.handlePermissionOverwrites(ev);
|
|
1756
1843
|
});
|
|
1844
|
+
_this.tracker.client.on('SpaceDeleted', function (ev) {
|
|
1845
|
+
return _this.handleSpaceDeleted(ev);
|
|
1846
|
+
});
|
|
1847
|
+
_this.tracker.client.on('SpaceLeft', function (ev) {
|
|
1848
|
+
return _this.handleSpaceDeleted(ev);
|
|
1849
|
+
});
|
|
1850
|
+
_this.tracker.client.on('RoomDeleted', function (ev) {
|
|
1851
|
+
return _this.handleRoomDeleted(ev);
|
|
1852
|
+
});
|
|
1853
|
+
_this.tracker.client.on('RoomLeft', function (ev) {
|
|
1854
|
+
return _this.handleRoomDeleted(ev);
|
|
1855
|
+
});
|
|
1856
|
+
_this.tracker.client.on('TopicDeleted', function (ev) {
|
|
1857
|
+
return _this.handleTopicDeleted(ev);
|
|
1858
|
+
});
|
|
1859
|
+
_this.tracker.client.on('RoleDeleted', function (ev) {
|
|
1860
|
+
return _this.handleRoleDeleted(ev);
|
|
1861
|
+
});
|
|
1757
1862
|
return _this;
|
|
1758
1863
|
}
|
|
1759
1864
|
PermissionsManager_createClass(PermissionsManager, [{
|
|
1760
1865
|
key: "getOverwrites",
|
|
1761
1866
|
value: function () {
|
|
1762
|
-
var _getOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
1763
|
-
var
|
|
1764
|
-
|
|
1867
|
+
var _getOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee2(layer, layerId, target, targetId) {
|
|
1868
|
+
var _this2 = this;
|
|
1869
|
+
var id;
|
|
1870
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1765
1871
|
while (1) {
|
|
1766
|
-
switch (
|
|
1872
|
+
switch (_context2.prev = _context2.next) {
|
|
1767
1873
|
case 0:
|
|
1768
1874
|
id = getOvId(layer, layerId, target, targetId);
|
|
1769
|
-
if (
|
|
1770
|
-
|
|
1771
|
-
|
|
1875
|
+
if (this.overwritesPromises.notExist(id)) {
|
|
1876
|
+
this.overwritesPromises.registerByFunction( /*#__PURE__*/PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee() {
|
|
1877
|
+
var result;
|
|
1878
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1879
|
+
while (1) {
|
|
1880
|
+
switch (_context.prev = _context.next) {
|
|
1881
|
+
case 0:
|
|
1882
|
+
_context.next = 2;
|
|
1883
|
+
return _this2.tracker.client.send('GetPermissionOverwrites', {
|
|
1884
|
+
layer: layer,
|
|
1885
|
+
layerId: layerId,
|
|
1886
|
+
target: target,
|
|
1887
|
+
targetId: targetId
|
|
1888
|
+
});
|
|
1889
|
+
case 2:
|
|
1890
|
+
result = _context.sent;
|
|
1891
|
+
if (!result.error) {
|
|
1892
|
+
_context.next = 5;
|
|
1893
|
+
break;
|
|
1894
|
+
}
|
|
1895
|
+
throw result.error;
|
|
1896
|
+
case 5:
|
|
1897
|
+
_this2.handlePermissionOverwrites(result.data);
|
|
1898
|
+
case 6:
|
|
1899
|
+
case "end":
|
|
1900
|
+
return _context.stop();
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1903
|
+
}, _callee);
|
|
1904
|
+
})), id);
|
|
1772
1905
|
}
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
return this.
|
|
1777
|
-
layer: layer,
|
|
1778
|
-
layerId: layerId,
|
|
1779
|
-
target: target,
|
|
1780
|
-
targetId: targetId
|
|
1781
|
-
});
|
|
1906
|
+
_context2.next = 4;
|
|
1907
|
+
return this.overwritesPromises.get(id);
|
|
1908
|
+
case 4:
|
|
1909
|
+
return _context2.abrupt("return", this.overwrites.get(id));
|
|
1782
1910
|
case 5:
|
|
1783
|
-
result = _context.sent;
|
|
1784
|
-
return _context.abrupt("return", result.error ? null : result.data);
|
|
1785
|
-
case 7:
|
|
1786
1911
|
case "end":
|
|
1787
|
-
return
|
|
1912
|
+
return _context2.stop();
|
|
1788
1913
|
}
|
|
1789
1914
|
}
|
|
1790
|
-
},
|
|
1915
|
+
}, _callee2, this);
|
|
1791
1916
|
}));
|
|
1792
1917
|
function getOverwrites(_x, _x2, _x3, _x4) {
|
|
1793
1918
|
return _getOverwrites.apply(this, arguments);
|
|
@@ -1802,32 +1927,32 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1802
1927
|
}, {
|
|
1803
1928
|
key: "check",
|
|
1804
1929
|
value: function () {
|
|
1805
|
-
var _check = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
1930
|
+
var _check = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee3(permissionNames, spaceId, roomId, topicId) {
|
|
1806
1931
|
var ownedPermissions, missing;
|
|
1807
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
1932
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1808
1933
|
while (1) {
|
|
1809
|
-
switch (
|
|
1934
|
+
switch (_context3.prev = _context3.next) {
|
|
1810
1935
|
case 0:
|
|
1811
|
-
|
|
1936
|
+
_context3.next = 2;
|
|
1812
1937
|
return this.calculatePermissions(spaceId, roomId, topicId);
|
|
1813
1938
|
case 2:
|
|
1814
|
-
ownedPermissions =
|
|
1939
|
+
ownedPermissions = _context3.sent;
|
|
1815
1940
|
missing = [];
|
|
1816
1941
|
permissionNames.forEach(function (name) {
|
|
1817
1942
|
if (~ownedPermissions & Permission[name]) {
|
|
1818
1943
|
missing.push(name);
|
|
1819
1944
|
}
|
|
1820
1945
|
});
|
|
1821
|
-
return
|
|
1946
|
+
return _context3.abrupt("return", {
|
|
1822
1947
|
ok: missing.length === 0,
|
|
1823
1948
|
missing: missing
|
|
1824
1949
|
});
|
|
1825
1950
|
case 6:
|
|
1826
1951
|
case "end":
|
|
1827
|
-
return
|
|
1952
|
+
return _context3.stop();
|
|
1828
1953
|
}
|
|
1829
1954
|
}
|
|
1830
|
-
},
|
|
1955
|
+
}, _callee3, this);
|
|
1831
1956
|
}));
|
|
1832
1957
|
function check(_x5, _x6, _x7, _x8) {
|
|
1833
1958
|
return _check.apply(this, arguments);
|
|
@@ -1837,22 +1962,22 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1837
1962
|
}, {
|
|
1838
1963
|
key: "calculatePermissions",
|
|
1839
1964
|
value: function () {
|
|
1840
|
-
var _calculatePermissions = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
1965
|
+
var _calculatePermissions = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee4(spaceId, roomId, topicId) {
|
|
1841
1966
|
var userId, userRoles, promises, roomMember;
|
|
1842
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
1967
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1843
1968
|
while (1) {
|
|
1844
|
-
switch (
|
|
1969
|
+
switch (_context4.prev = _context4.next) {
|
|
1845
1970
|
case 0:
|
|
1846
1971
|
if (!(topicId && !roomId || roomId && !spaceId)) {
|
|
1847
|
-
|
|
1972
|
+
_context4.next = 2;
|
|
1848
1973
|
break;
|
|
1849
1974
|
}
|
|
1850
1975
|
throw new Error('Corrupted arguments hierarchy');
|
|
1851
1976
|
case 2:
|
|
1852
|
-
|
|
1977
|
+
_context4.next = 4;
|
|
1853
1978
|
return this.tracker.getMe();
|
|
1854
1979
|
case 4:
|
|
1855
|
-
userId =
|
|
1980
|
+
userId = _context4.sent.id;
|
|
1856
1981
|
userRoles = [];
|
|
1857
1982
|
promises = [
|
|
1858
1983
|
// Global user overwrites
|
|
@@ -1860,31 +1985,31 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1860
1985
|
return v.overwrites;
|
|
1861
1986
|
})];
|
|
1862
1987
|
if (!spaceId) {
|
|
1863
|
-
|
|
1988
|
+
_context4.next = 18;
|
|
1864
1989
|
break;
|
|
1865
1990
|
}
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1991
|
+
_context4.t0 = userRoles.push;
|
|
1992
|
+
_context4.t1 = userRoles;
|
|
1993
|
+
_context4.t2 = PermissionsManager_toConsumableArray;
|
|
1994
|
+
_context4.next = 13;
|
|
1870
1995
|
return this.tracker.spaces.getMe(spaceId);
|
|
1871
1996
|
case 13:
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1997
|
+
_context4.t3 = _context4.sent.roles;
|
|
1998
|
+
_context4.t4 = (0, _context4.t2)(_context4.t3);
|
|
1999
|
+
_context4.t0.apply.call(_context4.t0, _context4.t1, _context4.t4);
|
|
1875
2000
|
promises.push(this.collectRoleOverwrites(spaceId, 'Space', spaceId, userRoles));
|
|
1876
2001
|
promises.push(this.getOverwrites('Space', spaceId, 'User', userId).then(function (v) {
|
|
1877
2002
|
return v.overwrites;
|
|
1878
2003
|
}));
|
|
1879
2004
|
case 18:
|
|
1880
2005
|
if (!roomId) {
|
|
1881
|
-
|
|
2006
|
+
_context4.next = 24;
|
|
1882
2007
|
break;
|
|
1883
2008
|
}
|
|
1884
|
-
|
|
2009
|
+
_context4.next = 21;
|
|
1885
2010
|
return this.tracker.rooms.getMe(roomId);
|
|
1886
2011
|
case 21:
|
|
1887
|
-
roomMember =
|
|
2012
|
+
roomMember = _context4.sent;
|
|
1888
2013
|
if (roomMember.roles !== null) {
|
|
1889
2014
|
// Room overwrites from roles (only for space rooms)
|
|
1890
2015
|
userRoles.push.apply(userRoles, PermissionsManager_toConsumableArray(roomMember.roles));
|
|
@@ -1902,18 +2027,18 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1902
2027
|
return v.overwrites;
|
|
1903
2028
|
}));
|
|
1904
2029
|
}
|
|
1905
|
-
|
|
1906
|
-
|
|
2030
|
+
_context4.t5 = this;
|
|
2031
|
+
_context4.next = 28;
|
|
1907
2032
|
return Promise.all(promises);
|
|
1908
2033
|
case 28:
|
|
1909
|
-
|
|
1910
|
-
return
|
|
2034
|
+
_context4.t6 = _context4.sent;
|
|
2035
|
+
return _context4.abrupt("return", _context4.t5.resolveOverwritesHierarchy.call(_context4.t5, _context4.t6));
|
|
1911
2036
|
case 30:
|
|
1912
2037
|
case "end":
|
|
1913
|
-
return
|
|
2038
|
+
return _context4.stop();
|
|
1914
2039
|
}
|
|
1915
2040
|
}
|
|
1916
|
-
},
|
|
2041
|
+
}, _callee4, this);
|
|
1917
2042
|
}));
|
|
1918
2043
|
function calculatePermissions(_x9, _x10, _x11) {
|
|
1919
2044
|
return _calculatePermissions.apply(this, arguments);
|
|
@@ -1926,29 +2051,75 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1926
2051
|
this.overwrites.set([getOvIdByObject(ev), ev]);
|
|
1927
2052
|
this.emit('change');
|
|
1928
2053
|
}
|
|
2054
|
+
}, {
|
|
2055
|
+
key: "handleSpaceDeleted",
|
|
2056
|
+
value: function handleSpaceDeleted(ev) {
|
|
2057
|
+
var _this$overwritesPromi;
|
|
2058
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId('Space', ev.id));
|
|
2059
|
+
(_this$overwritesPromi = this.overwritesPromises).forget.apply(_this$overwritesPromi, PermissionsManager_toConsumableArray(ids));
|
|
2060
|
+
}
|
|
2061
|
+
}, {
|
|
2062
|
+
key: "handleRoomDeleted",
|
|
2063
|
+
value: function handleRoomDeleted(ev) {
|
|
2064
|
+
var _this$overwritesPromi2;
|
|
2065
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId('Room', ev.id));
|
|
2066
|
+
(_this$overwritesPromi2 = this.overwritesPromises).forget.apply(_this$overwritesPromi2, PermissionsManager_toConsumableArray(ids));
|
|
2067
|
+
}
|
|
2068
|
+
}, {
|
|
2069
|
+
key: "handleTopicDeleted",
|
|
2070
|
+
value: function handleTopicDeleted(ev) {
|
|
2071
|
+
var _this$overwritesPromi3;
|
|
2072
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId('Topic', ev.id));
|
|
2073
|
+
(_this$overwritesPromi3 = this.overwritesPromises).forget.apply(_this$overwritesPromi3, PermissionsManager_toConsumableArray(ids));
|
|
2074
|
+
}
|
|
2075
|
+
}, {
|
|
2076
|
+
key: "handleRoleDeleted",
|
|
2077
|
+
value: function handleRoleDeleted(ev) {
|
|
2078
|
+
var _this$overwritesPromi4;
|
|
2079
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId('Space', ev.spaceId, 'Role', ev.id));
|
|
2080
|
+
(_this$overwritesPromi4 = this.overwritesPromises).forget.apply(_this$overwritesPromi4, PermissionsManager_toConsumableArray(ids));
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
/**
|
|
2084
|
+
* @return Matched and deleted ids
|
|
2085
|
+
*/
|
|
2086
|
+
}, {
|
|
2087
|
+
key: "deleteOverwritesByIdPrefix",
|
|
2088
|
+
value: function deleteOverwritesByIdPrefix(prefix) {
|
|
2089
|
+
var _this3 = this;
|
|
2090
|
+
var ids = [];
|
|
2091
|
+
this.overwrites.items.forEach(function (overwrites) {
|
|
2092
|
+
var id = getOvIdByObject(overwrites);
|
|
2093
|
+
if (id.startsWith(prefix)) {
|
|
2094
|
+
ids.push(id);
|
|
2095
|
+
_this3.overwrites["delete"](id);
|
|
2096
|
+
}
|
|
2097
|
+
});
|
|
2098
|
+
return ids;
|
|
2099
|
+
}
|
|
1929
2100
|
}, {
|
|
1930
2101
|
key: "collectRoleOverwrites",
|
|
1931
2102
|
value: function () {
|
|
1932
|
-
var _collectRoleOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
1933
|
-
var
|
|
2103
|
+
var _collectRoleOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee5(spaceId, layer, layerId, userRoles) {
|
|
2104
|
+
var _this4 = this;
|
|
1934
2105
|
var roleOverwrites;
|
|
1935
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
2106
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1936
2107
|
while (1) {
|
|
1937
|
-
switch (
|
|
2108
|
+
switch (_context5.prev = _context5.next) {
|
|
1938
2109
|
case 0:
|
|
1939
|
-
|
|
2110
|
+
_context5.next = 2;
|
|
1940
2111
|
return Promise.all(userRoles.map(function (roleId) {
|
|
1941
|
-
return
|
|
2112
|
+
return _this4.getOverwrites(layer, layerId, 'Role', roleId);
|
|
1942
2113
|
}));
|
|
1943
2114
|
case 2:
|
|
1944
|
-
roleOverwrites =
|
|
1945
|
-
return
|
|
2115
|
+
roleOverwrites = _context5.sent;
|
|
2116
|
+
return _context5.abrupt("return", this.resolveOverwritesFromRolesByOrder(spaceId, roleOverwrites));
|
|
1946
2117
|
case 4:
|
|
1947
2118
|
case "end":
|
|
1948
|
-
return
|
|
2119
|
+
return _context5.stop();
|
|
1949
2120
|
}
|
|
1950
2121
|
}
|
|
1951
|
-
},
|
|
2122
|
+
}, _callee5, this);
|
|
1952
2123
|
}));
|
|
1953
2124
|
function collectRoleOverwrites(_x12, _x13, _x14, _x15) {
|
|
1954
2125
|
return _collectRoleOverwrites.apply(this, arguments);
|
|
@@ -1958,17 +2129,17 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1958
2129
|
}, {
|
|
1959
2130
|
key: "resolveOverwritesFromRolesByOrder",
|
|
1960
2131
|
value: function () {
|
|
1961
|
-
var _resolveOverwritesFromRolesByOrder = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
2132
|
+
var _resolveOverwritesFromRolesByOrder = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee6(spaceId, overwrites) {
|
|
1962
2133
|
var allows, denies, roles, sortedOverwrites, permissionsLength;
|
|
1963
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
2134
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1964
2135
|
while (1) {
|
|
1965
|
-
switch (
|
|
2136
|
+
switch (_context6.prev = _context6.next) {
|
|
1966
2137
|
case 0:
|
|
1967
2138
|
allows = 0, denies = 0;
|
|
1968
|
-
|
|
2139
|
+
_context6.next = 3;
|
|
1969
2140
|
return this.tracker.spaces.getRoles(spaceId);
|
|
1970
2141
|
case 3:
|
|
1971
|
-
roles =
|
|
2142
|
+
roles = _context6.sent;
|
|
1972
2143
|
sortedOverwrites = overwrites.sort(function (a, b) {
|
|
1973
2144
|
return roles.get(a.targetId).priority - roles.get(b.targetId).priority;
|
|
1974
2145
|
}); // Max length of bit word
|
|
@@ -1991,16 +2162,16 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
1991
2162
|
}
|
|
1992
2163
|
}
|
|
1993
2164
|
});
|
|
1994
|
-
return
|
|
2165
|
+
return _context6.abrupt("return", {
|
|
1995
2166
|
allow: allows,
|
|
1996
2167
|
deny: denies
|
|
1997
2168
|
});
|
|
1998
2169
|
case 8:
|
|
1999
2170
|
case "end":
|
|
2000
|
-
return
|
|
2171
|
+
return _context6.stop();
|
|
2001
2172
|
}
|
|
2002
2173
|
}
|
|
2003
|
-
},
|
|
2174
|
+
}, _callee6, this);
|
|
2004
2175
|
}));
|
|
2005
2176
|
function resolveOverwritesFromRolesByOrder(_x16, _x17) {
|
|
2006
2177
|
return _resolveOverwritesFromRolesByOrder.apply(this, arguments);
|