polfan-server-js-client 0.1.56 → 0.1.57
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/.gitmodules +3 -0
- package/build/index.js +295 -138
- package/build/index.js.map +1 -1
- package/build/types/AbstractChatClient.d.ts +2 -2
- package/build/types/index.d.ts +3 -1
- package/build/types/state-tracker/ChatStateTracker.d.ts +5 -5
- package/build/types/state-tracker/MessagesManager.d.ts +3 -3
- package/build/types/state-tracker/PermissionsManager.d.ts +5 -4
- package/build/types/state-tracker/RoomsManager.d.ts +1 -1
- package/build/types/state-tracker/SpacesManager.d.ts +2 -1
- package/build/types/state-tracker/functions.d.ts +1 -1
- package/build/types/types/src/index.d.ts +81 -0
- package/build/types/types/src/schemes/AckReport.d.ts +7 -0
- package/build/types/types/src/schemes/ChatLocation.d.ts +5 -0
- package/build/types/types/src/schemes/Envelope.d.ts +5 -0
- package/build/types/types/src/schemes/Message.d.ts +7 -0
- package/build/types/types/src/schemes/PermissionOverwritesValue.d.ts +4 -0
- package/build/types/types/src/schemes/Role.d.ts +6 -0
- package/build/types/types/src/schemes/Room.d.ts +10 -0
- package/build/types/types/src/schemes/RoomMember.d.ts +7 -0
- package/build/types/types/src/schemes/RoomSummary.d.ts +5 -0
- package/build/types/types/src/schemes/Space.d.ts +6 -0
- package/build/types/types/src/schemes/SpaceMember.d.ts +5 -0
- package/build/types/types/src/schemes/Topic.d.ts +5 -0
- package/build/types/types/src/schemes/User.d.ts +8 -0
- package/build/types/types/src/schemes/UserState.d.ts +6 -0
- package/build/types/types/src/schemes/commands/Ack.d.ts +5 -0
- package/build/types/types/src/schemes/commands/AssignRole.d.ts +6 -0
- package/build/types/types/src/schemes/commands/CreateMessage.d.ts +5 -0
- package/build/types/types/src/schemes/commands/CreateOwner.d.ts +5 -0
- package/build/types/types/src/schemes/commands/CreateRole.d.ts +5 -0
- package/build/types/types/src/schemes/commands/CreateRoom.d.ts +5 -0
- package/build/types/types/src/schemes/commands/CreateSpace.d.ts +3 -0
- package/build/types/types/src/schemes/commands/CreateTopic.d.ts +12 -0
- package/build/types/types/src/schemes/commands/DeassignRole.d.ts +6 -0
- package/build/types/types/src/schemes/commands/DeleteOwner.d.ts +5 -0
- package/build/types/types/src/schemes/commands/DeleteRole.d.ts +4 -0
- package/build/types/types/src/schemes/commands/DeleteRoom.d.ts +3 -0
- package/build/types/types/src/schemes/commands/DeleteSpace.d.ts +3 -0
- package/build/types/types/src/schemes/commands/DeleteTopic.d.ts +4 -0
- package/build/types/types/src/schemes/commands/GetAckReports.d.ts +4 -0
- package/build/types/types/src/schemes/commands/GetComputedPermissions.d.ts +4 -0
- package/build/types/types/src/schemes/commands/GetOwners.d.ts +4 -0
- package/build/types/types/src/schemes/commands/GetPermissionOverwriteTargets.d.ts +4 -0
- package/build/types/types/src/schemes/commands/GetPermissionOverwrites.d.ts +6 -0
- package/build/types/types/src/schemes/commands/GetRoomMembers.d.ts +3 -0
- package/build/types/types/src/schemes/commands/GetSession.d.ts +2 -0
- package/build/types/types/src/schemes/commands/GetSpaceMembers.d.ts +3 -0
- package/build/types/types/src/schemes/commands/GetSpaceRooms.d.ts +3 -0
- package/build/types/types/src/schemes/commands/JoinRoom.d.ts +3 -0
- package/build/types/types/src/schemes/commands/JoinSpace.d.ts +3 -0
- package/build/types/types/src/schemes/commands/LeaveRoom.d.ts +3 -0
- package/build/types/types/src/schemes/commands/LeaveSpace.d.ts +3 -0
- package/build/types/types/src/schemes/commands/SetPermissionOverwrites.d.ts +8 -0
- package/build/types/types/src/schemes/commands/UpdateRole.d.ts +7 -0
- package/build/types/types/src/schemes/commands/UpdateRoom.d.ts +5 -0
- package/build/types/types/src/schemes/commands/UpdateSpace.d.ts +4 -0
- package/build/types/types/src/schemes/events/AckReports.d.ts +4 -0
- package/build/types/types/src/schemes/events/Bye.d.ts +3 -0
- package/build/types/types/src/schemes/events/ComputedPermissions.d.ts +5 -0
- package/build/types/types/src/schemes/events/Error.d.ts +4 -0
- package/build/types/types/src/schemes/events/NewMessage.d.ts +6 -0
- package/build/types/types/src/schemes/events/NewRole.d.ts +5 -0
- package/build/types/types/src/schemes/events/NewRoom.d.ts +5 -0
- package/build/types/types/src/schemes/events/NewTopic.d.ts +5 -0
- package/build/types/types/src/schemes/events/Ok.d.ts +2 -0
- package/build/types/types/src/schemes/events/Owners.d.ts +8 -0
- package/build/types/types/src/schemes/events/PermissionOverwriteTargets.d.ts +10 -0
- package/build/types/types/src/schemes/events/PermissionOverwrites.d.ts +8 -0
- package/build/types/types/src/schemes/events/PermissionOverwritesUpdated.d.ts +8 -0
- package/build/types/types/src/schemes/events/RoleDeleted.d.ts +4 -0
- package/build/types/types/src/schemes/events/RoleUpdated.d.ts +5 -0
- package/build/types/types/src/schemes/events/RoomDeleted.d.ts +3 -0
- package/build/types/types/src/schemes/events/RoomJoined.d.ts +4 -0
- package/build/types/types/src/schemes/events/RoomLeft.d.ts +3 -0
- package/build/types/types/src/schemes/events/RoomMemberJoined.d.ts +5 -0
- package/build/types/types/src/schemes/events/RoomMemberLeft.d.ts +4 -0
- package/build/types/types/src/schemes/events/RoomMemberUpdated.d.ts +6 -0
- package/build/types/types/src/schemes/events/RoomMembers.d.ts +5 -0
- package/build/types/types/src/schemes/events/RoomUpdated.d.ts +4 -0
- package/build/types/types/src/schemes/events/Session.d.ts +7 -0
- package/build/types/types/src/schemes/events/SpaceDeleted.d.ts +3 -0
- package/build/types/types/src/schemes/events/SpaceJoined.d.ts +4 -0
- package/build/types/types/src/schemes/events/SpaceLeft.d.ts +3 -0
- package/build/types/types/src/schemes/events/SpaceMemberJoined.d.ts +5 -0
- package/build/types/types/src/schemes/events/SpaceMemberLeft.d.ts +4 -0
- package/build/types/types/src/schemes/events/SpaceMemberUpdated.d.ts +6 -0
- package/build/types/types/src/schemes/events/SpaceMembers.d.ts +5 -0
- package/build/types/types/src/schemes/events/SpaceRooms.d.ts +5 -0
- package/build/types/types/src/schemes/events/SpaceUpdated.d.ts +4 -0
- package/build/types/types/src/schemes/events/TopicDeleted.d.ts +4 -0
- package/build/types/types/src/schemes/events/UserUpdated.d.ts +4 -0
- package/package.json +3 -4
- package/src/AbstractChatClient.ts +3 -3
- package/src/WebApiChatClient.ts +1 -1
- package/src/WebSocketChatClient.ts +1 -1
- package/src/index.ts +5 -2
- package/src/state-tracker/ChatStateTracker.ts +5 -5
- package/src/state-tracker/MessagesManager.ts +11 -11
- package/src/state-tracker/PermissionsManager.ts +51 -53
- package/src/state-tracker/RoomsManager.ts +11 -6
- package/src/state-tracker/SpacesManager.ts +12 -4
- package/src/state-tracker/functions.ts +1 -1
- package/src/types/README.md +2 -0
- package/src/types/package-lock.json +31 -0
- package/src/types/package.json +16 -0
- package/src/types/src/index.ts +166 -0
- package/src/types/src/schemes/AckReport.ts +7 -0
- package/src/types/src/schemes/ChatLocation.ts +5 -0
- package/src/types/src/schemes/Envelope.ts +5 -0
- package/src/types/src/schemes/Message.ts +8 -0
- package/src/types/src/schemes/PermissionOverwritesValue.ts +4 -0
- package/src/types/src/schemes/Role.ts +6 -0
- package/src/types/src/schemes/Room.ts +12 -0
- package/src/types/src/schemes/RoomMember.ts +8 -0
- package/src/types/src/schemes/RoomSummary.ts +5 -0
- package/src/types/src/schemes/Space.ts +7 -0
- package/src/types/src/schemes/SpaceMember.ts +6 -0
- package/src/types/src/schemes/Topic.ts +5 -0
- package/src/types/src/schemes/User.ts +9 -0
- package/src/types/src/schemes/UserState.ts +7 -0
- package/src/types/src/schemes/commands/Ack.ts +6 -0
- package/src/types/src/schemes/commands/AssignRole.ts +7 -0
- package/src/types/src/schemes/commands/CreateMessage.ts +6 -0
- package/src/types/src/schemes/commands/CreateOwner.ts +6 -0
- package/src/types/src/schemes/commands/CreateRole.ts +5 -0
- package/src/types/src/schemes/commands/CreateRoom.ts +5 -0
- package/src/types/src/schemes/commands/CreateSpace.ts +3 -0
- package/src/types/src/schemes/commands/CreateTopic.ts +14 -0
- package/src/types/src/schemes/commands/DeassignRole.ts +7 -0
- package/src/types/src/schemes/commands/DeleteOwner.ts +6 -0
- package/src/types/src/schemes/commands/DeleteRole.ts +4 -0
- package/src/types/src/schemes/commands/DeleteRoom.ts +3 -0
- package/src/types/src/schemes/commands/DeleteSpace.ts +3 -0
- package/src/types/src/schemes/commands/DeleteTopic.ts +5 -0
- package/src/types/src/schemes/commands/GetAckReports.ts +5 -0
- package/src/types/src/schemes/commands/GetComputedPermissions.ts +5 -0
- package/src/types/src/schemes/commands/GetOwners.ts +5 -0
- package/src/types/src/schemes/commands/GetPermissionOverwriteTargets.ts +5 -0
- package/src/types/src/schemes/commands/GetPermissionOverwrites.ts +7 -0
- package/src/types/src/schemes/commands/GetRoomMembers.ts +3 -0
- package/src/types/src/schemes/commands/GetSession.ts +2 -0
- package/src/types/src/schemes/commands/GetSpaceMembers.ts +3 -0
- package/src/types/src/schemes/commands/GetSpaceRooms.ts +3 -0
- package/src/types/src/schemes/commands/JoinRoom.ts +3 -0
- package/src/types/src/schemes/commands/JoinSpace.ts +3 -0
- package/src/types/src/schemes/commands/LeaveRoom.ts +3 -0
- package/src/types/src/schemes/commands/LeaveSpace.ts +3 -0
- package/src/types/src/schemes/commands/SetPermissionOverwrites.ts +9 -0
- package/src/types/src/schemes/commands/UpdateRole.ts +7 -0
- package/src/types/src/schemes/commands/UpdateRoom.ts +5 -0
- package/src/types/src/schemes/commands/UpdateSpace.ts +4 -0
- package/src/types/src/schemes/events/AckReports.ts +5 -0
- package/src/types/src/schemes/events/Bye.ts +3 -0
- package/src/types/src/schemes/events/ComputedPermissions.ts +6 -0
- package/src/types/src/schemes/events/Error.ts +4 -0
- package/src/types/src/schemes/events/NewMessage.ts +7 -0
- package/src/types/src/schemes/events/NewRole.ts +6 -0
- package/src/types/src/schemes/events/NewRoom.ts +6 -0
- package/src/types/src/schemes/events/NewTopic.ts +6 -0
- package/src/types/src/schemes/events/Ok.ts +3 -0
- package/src/types/src/schemes/events/Owners.ts +9 -0
- package/src/types/src/schemes/events/PermissionOverwriteTargets.ts +11 -0
- package/src/types/src/schemes/events/PermissionOverwrites.ts +9 -0
- package/src/types/src/schemes/events/PermissionOverwritesUpdated.ts +9 -0
- package/src/types/src/schemes/events/RoleDeleted.ts +4 -0
- package/src/types/src/schemes/events/RoleUpdated.ts +6 -0
- package/src/types/src/schemes/events/RoomDeleted.ts +3 -0
- package/src/types/src/schemes/events/RoomJoined.ts +5 -0
- package/src/types/src/schemes/events/RoomLeft.ts +3 -0
- package/src/types/src/schemes/events/RoomMemberJoined.ts +6 -0
- package/src/types/src/schemes/events/RoomMemberLeft.ts +4 -0
- package/src/types/src/schemes/events/RoomMemberUpdated.ts +7 -0
- package/src/types/src/schemes/events/RoomMembers.ts +6 -0
- package/src/types/src/schemes/events/RoomUpdated.ts +5 -0
- package/src/types/src/schemes/events/Session.ts +8 -0
- package/src/types/src/schemes/events/SpaceDeleted.ts +3 -0
- package/src/types/src/schemes/events/SpaceJoined.ts +5 -0
- package/src/types/src/schemes/events/SpaceLeft.ts +3 -0
- package/src/types/src/schemes/events/SpaceMemberJoined.ts +6 -0
- package/src/types/src/schemes/events/SpaceMemberLeft.ts +4 -0
- package/src/types/src/schemes/events/SpaceMemberUpdated.ts +7 -0
- package/src/types/src/schemes/events/SpaceMembers.ts +6 -0
- package/src/types/src/schemes/events/SpaceRooms.ts +6 -0
- package/src/types/src/schemes/events/SpaceUpdated.ts +5 -0
- package/src/types/src/schemes/events/TopicDeleted.ts +5 -0
- package/src/types/src/schemes/events/UserUpdated.ts +5 -0
- package/src/types/tsconfig.json +75 -0
package/build/index.js
CHANGED
|
@@ -641,11 +641,10 @@ function MessagesManager_defineProperty(obj, key, value) { key = MessagesManager
|
|
|
641
641
|
function MessagesManager_toPropertyKey(arg) { var key = MessagesManager_toPrimitive(arg, "string"); return MessagesManager_typeof(key) === "symbol" ? key : String(key); }
|
|
642
642
|
function MessagesManager_toPrimitive(input, hint) { if (MessagesManager_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (MessagesManager_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
643
643
|
|
|
644
|
-
var getCombinedId = function getCombinedId() {
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
}
|
|
648
|
-
return ids.join('_');
|
|
644
|
+
var getCombinedId = function getCombinedId(location) {
|
|
645
|
+
return Object.values(location).filter(function (v) {
|
|
646
|
+
return v;
|
|
647
|
+
}).join('_');
|
|
649
648
|
};
|
|
650
649
|
var MessagesManager = /*#__PURE__*/function () {
|
|
651
650
|
// Temporary not lazy loaded; server must implement GetTopicMessages command.
|
|
@@ -670,12 +669,12 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
670
669
|
MessagesManager_createClass(MessagesManager, [{
|
|
671
670
|
key: "get",
|
|
672
671
|
value: function () {
|
|
673
|
-
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(
|
|
672
|
+
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(location) {
|
|
674
673
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
675
674
|
while (1) {
|
|
676
675
|
switch (_context.prev = _context.next) {
|
|
677
676
|
case 0:
|
|
678
|
-
return _context.abrupt("return", this.list.get(getCombinedId(
|
|
677
|
+
return _context.abrupt("return", this.list.get(getCombinedId(location)));
|
|
679
678
|
case 1:
|
|
680
679
|
case "end":
|
|
681
680
|
return _context.stop();
|
|
@@ -683,7 +682,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
683
682
|
}
|
|
684
683
|
}, _callee, this);
|
|
685
684
|
}));
|
|
686
|
-
function get(_x
|
|
685
|
+
function get(_x) {
|
|
687
686
|
return _get.apply(this, arguments);
|
|
688
687
|
}
|
|
689
688
|
return get;
|
|
@@ -727,7 +726,9 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
727
726
|
}
|
|
728
727
|
_context2.next = 11;
|
|
729
728
|
return this.tracker.client.send('GetAckReports', {
|
|
730
|
-
|
|
729
|
+
location: {
|
|
730
|
+
spaceId: spaceId
|
|
731
|
+
}
|
|
731
732
|
});
|
|
732
733
|
case 11:
|
|
733
734
|
result = _context2.sent;
|
|
@@ -750,7 +751,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
750
751
|
}
|
|
751
752
|
}, _callee2, this);
|
|
752
753
|
}));
|
|
753
|
-
function cacheSpaceAckReports(
|
|
754
|
+
function cacheSpaceAckReports(_x2) {
|
|
754
755
|
return _cacheSpaceAckReports.apply(this, arguments);
|
|
755
756
|
}
|
|
756
757
|
return cacheSpaceAckReports;
|
|
@@ -784,7 +785,9 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
784
785
|
}
|
|
785
786
|
_context3.next = 8;
|
|
786
787
|
return this.tracker.client.send('GetAckReports', {
|
|
787
|
-
|
|
788
|
+
location: {
|
|
789
|
+
roomId: roomId
|
|
790
|
+
}
|
|
788
791
|
});
|
|
789
792
|
case 8:
|
|
790
793
|
result = _context3.sent;
|
|
@@ -804,7 +807,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
804
807
|
}
|
|
805
808
|
}, _callee3, this);
|
|
806
809
|
}));
|
|
807
|
-
function getRoomAckReports(
|
|
810
|
+
function getRoomAckReports(_x3) {
|
|
808
811
|
return _getRoomAckReports.apply(this, arguments);
|
|
809
812
|
}
|
|
810
813
|
return getRoomAckReports;
|
|
@@ -817,11 +820,14 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
817
820
|
key: "_deleteByTopicIds",
|
|
818
821
|
value: function _deleteByTopicIds(roomId) {
|
|
819
822
|
var _this$list, _this$acks$get;
|
|
820
|
-
for (var
|
|
821
|
-
topicIds[
|
|
823
|
+
for (var _len = arguments.length, topicIds = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
824
|
+
topicIds[_key - 1] = arguments[_key];
|
|
822
825
|
}
|
|
823
826
|
(_this$list = this.list)["delete"].apply(_this$list, MessagesManager_toConsumableArray(topicIds.map(function (topicId) {
|
|
824
|
-
return getCombinedId(
|
|
827
|
+
return getCombinedId({
|
|
828
|
+
roomId: roomId,
|
|
829
|
+
topicId: topicId
|
|
830
|
+
});
|
|
825
831
|
})));
|
|
826
832
|
(_this$acks$get = this.acks.get(roomId)) === null || _this$acks$get === void 0 ? void 0 : _this$acks$get["delete"].apply(_this$acks$get, topicIds);
|
|
827
833
|
}
|
|
@@ -834,18 +840,21 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
834
840
|
key: "_handleNewTopics",
|
|
835
841
|
value: function _handleNewTopics(roomId) {
|
|
836
842
|
var _this$list2;
|
|
837
|
-
for (var
|
|
838
|
-
topics[
|
|
843
|
+
for (var _len2 = arguments.length, topics = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
844
|
+
topics[_key2 - 1] = arguments[_key2];
|
|
839
845
|
}
|
|
840
846
|
(_this$list2 = this.list).set.apply(_this$list2, MessagesManager_toConsumableArray(topics.map(function (topic) {
|
|
841
|
-
return [getCombinedId(
|
|
847
|
+
return [getCombinedId({
|
|
848
|
+
roomId: roomId,
|
|
849
|
+
topicId: topic.id
|
|
850
|
+
}), new ObservableIndexedObjectCollection('id')];
|
|
842
851
|
})));
|
|
843
852
|
this.createAckReportsForNewTopics(roomId, topics);
|
|
844
853
|
}
|
|
845
854
|
}, {
|
|
846
855
|
key: "handleNewMessage",
|
|
847
856
|
value: function handleNewMessage(ev) {
|
|
848
|
-
this.list.get(getCombinedId(ev.
|
|
857
|
+
this.list.get(getCombinedId(ev.location)).set(ev.message);
|
|
849
858
|
this.updateLocallyAckReportOnNewMessage(ev);
|
|
850
859
|
}
|
|
851
860
|
}, {
|
|
@@ -882,13 +891,13 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
882
891
|
key: "updateLocallyAckReportOnNewMessage",
|
|
883
892
|
value: function updateLocallyAckReportOnNewMessage(ev) {
|
|
884
893
|
var _this$tracker$me;
|
|
885
|
-
var ackReports = this.acks.get(ev.roomId);
|
|
894
|
+
var ackReports = this.acks.get(ev.location.roomId);
|
|
886
895
|
if (!ackReports) {
|
|
887
896
|
// If we don't follow ack reports for this room, skip
|
|
888
897
|
return;
|
|
889
898
|
}
|
|
890
899
|
var isMe = ev.message.author.id === ((_this$tracker$me = this.tracker.me) === null || _this$tracker$me === void 0 ? void 0 : _this$tracker$me.id);
|
|
891
|
-
var currentAckReport = ackReports.get(ev.topicId);
|
|
900
|
+
var currentAckReport = ackReports.get(ev.location.topicId);
|
|
892
901
|
var update;
|
|
893
902
|
if (isMe) {
|
|
894
903
|
// Reset missed messages count if new message is authored by me
|
|
@@ -1239,15 +1248,20 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
1239
1248
|
}, {
|
|
1240
1249
|
key: "handleTopicDeleted",
|
|
1241
1250
|
value: function handleTopicDeleted(ev) {
|
|
1242
|
-
var
|
|
1243
|
-
collection
|
|
1244
|
-
|
|
1251
|
+
var _room$defaultTopic;
|
|
1252
|
+
var collection = this.topics.get(ev.location.roomId);
|
|
1253
|
+
collection["delete"](ev.location.topicId);
|
|
1254
|
+
var room = this.list.get(ev.location.roomId);
|
|
1255
|
+
if (((_room$defaultTopic = room.defaultTopic) === null || _room$defaultTopic === void 0 ? void 0 : _room$defaultTopic.id) === ev.location.topicId) {
|
|
1256
|
+
this.list.set(RoomsManager_objectSpread(RoomsManager_objectSpread({}, room), {}, {
|
|
1257
|
+
defaultTopic: null
|
|
1258
|
+
}));
|
|
1259
|
+
}
|
|
1245
1260
|
}
|
|
1246
1261
|
}, {
|
|
1247
1262
|
key: "handleNewTopic",
|
|
1248
1263
|
value: function handleNewTopic(ev) {
|
|
1249
1264
|
this.addJoinedRoomTopics(ev.roomId, ev.topic);
|
|
1250
|
-
this.list.get(ev.roomId).topics.push(ev.topic);
|
|
1251
1265
|
}
|
|
1252
1266
|
}, {
|
|
1253
1267
|
key: "addJoinedRoomTopics",
|
|
@@ -1291,7 +1305,9 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
1291
1305
|
}
|
|
1292
1306
|
for (var _i2 = 0, _rooms = rooms; _i2 < _rooms.length; _i2++) {
|
|
1293
1307
|
var room = _rooms[_i2];
|
|
1294
|
-
|
|
1308
|
+
if (room.defaultTopic) {
|
|
1309
|
+
this.addJoinedRoomTopics(room.id, room.defaultTopic);
|
|
1310
|
+
}
|
|
1295
1311
|
}
|
|
1296
1312
|
(_this$list2 = this.list).set.apply(_this$list2, rooms);
|
|
1297
1313
|
}
|
|
@@ -1406,6 +1422,7 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1406
1422
|
SpacesManager_defineProperty(this, "list", new ObservableIndexedObjectCollection('id'));
|
|
1407
1423
|
SpacesManager_defineProperty(this, "roles", new IndexedCollection());
|
|
1408
1424
|
SpacesManager_defineProperty(this, "rooms", new IndexedCollection());
|
|
1425
|
+
SpacesManager_defineProperty(this, "roomIdToSpaceId", new IndexedCollection());
|
|
1409
1426
|
SpacesManager_defineProperty(this, "members", new IndexedCollection());
|
|
1410
1427
|
SpacesManager_defineProperty(this, "deferredSession", new DeferredTask());
|
|
1411
1428
|
SpacesManager_defineProperty(this, "roomsPromises", new PromiseRegistry());
|
|
@@ -1682,6 +1699,7 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1682
1699
|
value: function handleNewRoom(ev) {
|
|
1683
1700
|
var _this$rooms$get;
|
|
1684
1701
|
(_this$rooms$get = this.rooms.get(ev.spaceId)) === null || _this$rooms$get === void 0 ? void 0 : _this$rooms$get.set(ev.summary);
|
|
1702
|
+
this.roomIdToSpaceId.set([ev.summary.id, ev.spaceId]);
|
|
1685
1703
|
}
|
|
1686
1704
|
}, {
|
|
1687
1705
|
key: "handleRoomUpdated",
|
|
@@ -1696,11 +1714,29 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1696
1714
|
}
|
|
1697
1715
|
}, {
|
|
1698
1716
|
key: "handleRoomDeleted",
|
|
1699
|
-
value: function
|
|
1700
|
-
|
|
1701
|
-
|
|
1717
|
+
value: function () {
|
|
1718
|
+
var _handleRoomDeleted = SpacesManager_asyncToGenerator( /*#__PURE__*/SpacesManager_regeneratorRuntime().mark(function _callee8(ev) {
|
|
1719
|
+
var spaceId;
|
|
1720
|
+
return SpacesManager_regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1721
|
+
while (1) {
|
|
1722
|
+
switch (_context8.prev = _context8.next) {
|
|
1723
|
+
case 0:
|
|
1724
|
+
spaceId = this.roomIdToSpaceId.get(ev.id);
|
|
1725
|
+
if (spaceId && this.rooms.has(spaceId)) {
|
|
1726
|
+
this.rooms.get(spaceId)["delete"](ev.id);
|
|
1727
|
+
}
|
|
1728
|
+
case 2:
|
|
1729
|
+
case "end":
|
|
1730
|
+
return _context8.stop();
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
}, _callee8, this);
|
|
1734
|
+
}));
|
|
1735
|
+
function handleRoomDeleted(_x5) {
|
|
1736
|
+
return _handleRoomDeleted.apply(this, arguments);
|
|
1702
1737
|
}
|
|
1703
|
-
|
|
1738
|
+
return handleRoomDeleted;
|
|
1739
|
+
}()
|
|
1704
1740
|
}, {
|
|
1705
1741
|
key: "handleRoleDeleted",
|
|
1706
1742
|
value: function handleRoleDeleted(ev) {
|
|
@@ -1718,6 +1754,11 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1718
1754
|
}, {
|
|
1719
1755
|
key: "handleSpaceDeleted",
|
|
1720
1756
|
value: function handleSpaceDeleted(ev) {
|
|
1757
|
+
var _this$rooms$get$map, _this$rooms$get2, _this$roomIdToSpaceId;
|
|
1758
|
+
var roomIds = (_this$rooms$get$map = (_this$rooms$get2 = this.rooms.get(ev.id)) === null || _this$rooms$get2 === void 0 ? void 0 : _this$rooms$get2.map(function (item) {
|
|
1759
|
+
return item.id;
|
|
1760
|
+
})) !== null && _this$rooms$get$map !== void 0 ? _this$rooms$get$map : [];
|
|
1761
|
+
(_this$roomIdToSpaceId = this.roomIdToSpaceId)["delete"].apply(_this$roomIdToSpaceId, SpacesManager_toConsumableArray(roomIds));
|
|
1721
1762
|
this.roles["delete"](ev.id);
|
|
1722
1763
|
this.members["delete"](ev.id);
|
|
1723
1764
|
this.membersPromises.forget(ev.id);
|
|
@@ -1803,6 +1844,7 @@ var SpacesManager = /*#__PURE__*/function () {
|
|
|
1803
1844
|
this.roles.deleteAll();
|
|
1804
1845
|
this.rooms.deleteAll();
|
|
1805
1846
|
this.members.deleteAll();
|
|
1847
|
+
this.roomIdToSpaceId.deleteAll();
|
|
1806
1848
|
this.addJoinedSpaces.apply(this, SpacesManager_toConsumableArray(ev.state.spaces));
|
|
1807
1849
|
this.deferredSession.resolve();
|
|
1808
1850
|
}
|
|
@@ -1954,11 +1996,12 @@ function PermissionsManager_toPrimitive(input, hint) { if (PermissionsManager_ty
|
|
|
1954
1996
|
|
|
1955
1997
|
|
|
1956
1998
|
|
|
1957
|
-
var getOvId = function getOvId(
|
|
1958
|
-
|
|
1999
|
+
var getOvId = function getOvId(location, target, targetId) {
|
|
2000
|
+
var _location$spaceId, _location$roomId, _location$topicId;
|
|
2001
|
+
return ((_location$spaceId = location.spaceId) !== null && _location$spaceId !== void 0 ? _location$spaceId : '') + ((_location$roomId = location.roomId) !== null && _location$roomId !== void 0 ? _location$roomId : '') + ((_location$topicId = location.topicId) !== null && _location$topicId !== void 0 ? _location$topicId : '') + (target !== null && target !== void 0 ? target : '') + (targetId !== null && targetId !== void 0 ? targetId : '');
|
|
1959
2002
|
};
|
|
1960
2003
|
var getOvIdByObject = function getOvIdByObject(overwrites) {
|
|
1961
|
-
return getOvId(overwrites.
|
|
2004
|
+
return getOvId(overwrites.location, overwrites.target, overwrites.targetId);
|
|
1962
2005
|
};
|
|
1963
2006
|
var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
1964
2007
|
PermissionsManager_inherits(PermissionsManager, _EventTarget);
|
|
@@ -2005,14 +2048,15 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2005
2048
|
PermissionsManager_createClass(PermissionsManager, [{
|
|
2006
2049
|
key: "getOverwrites",
|
|
2007
2050
|
value: function () {
|
|
2008
|
-
var _getOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee2(
|
|
2051
|
+
var _getOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee2(location, target, targetId) {
|
|
2009
2052
|
var _this2 = this;
|
|
2010
2053
|
var id;
|
|
2011
2054
|
return PermissionsManager_regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
2012
2055
|
while (1) {
|
|
2013
2056
|
switch (_context2.prev = _context2.next) {
|
|
2014
2057
|
case 0:
|
|
2015
|
-
|
|
2058
|
+
this.validateLocation(location);
|
|
2059
|
+
id = getOvId(location, target, targetId);
|
|
2016
2060
|
if (this.overwritesPromises.notExist(id)) {
|
|
2017
2061
|
this.overwritesPromises.registerByFunction( /*#__PURE__*/PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee() {
|
|
2018
2062
|
var result;
|
|
@@ -2022,8 +2066,7 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2022
2066
|
case 0:
|
|
2023
2067
|
_context.next = 2;
|
|
2024
2068
|
return _this2.tracker.client.send('GetPermissionOverwrites', {
|
|
2025
|
-
|
|
2026
|
-
layerId: layerId,
|
|
2069
|
+
location: location,
|
|
2027
2070
|
target: target,
|
|
2028
2071
|
targetId: targetId
|
|
2029
2072
|
});
|
|
@@ -2044,18 +2087,18 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2044
2087
|
}, _callee);
|
|
2045
2088
|
})), id);
|
|
2046
2089
|
}
|
|
2047
|
-
_context2.next =
|
|
2090
|
+
_context2.next = 5;
|
|
2048
2091
|
return this.overwritesPromises.get(id);
|
|
2049
|
-
case 4:
|
|
2050
|
-
return _context2.abrupt("return", this.overwrites.get(id));
|
|
2051
2092
|
case 5:
|
|
2093
|
+
return _context2.abrupt("return", this.overwrites.get(id));
|
|
2094
|
+
case 6:
|
|
2052
2095
|
case "end":
|
|
2053
2096
|
return _context2.stop();
|
|
2054
2097
|
}
|
|
2055
2098
|
}
|
|
2056
2099
|
}, _callee2, this);
|
|
2057
2100
|
}));
|
|
2058
|
-
function getOverwrites(_x, _x2, _x3
|
|
2101
|
+
function getOverwrites(_x, _x2, _x3) {
|
|
2059
2102
|
return _getOverwrites.apply(this, arguments);
|
|
2060
2103
|
}
|
|
2061
2104
|
return getOverwrites;
|
|
@@ -2068,7 +2111,7 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2068
2111
|
}, {
|
|
2069
2112
|
key: "check",
|
|
2070
2113
|
value: function () {
|
|
2071
|
-
var _check = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee3(permissionNames,
|
|
2114
|
+
var _check = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee3(permissionNames, location) {
|
|
2072
2115
|
var ownedPermissions, missing;
|
|
2073
2116
|
return PermissionsManager_regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
2074
2117
|
while (1) {
|
|
@@ -2081,7 +2124,7 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2081
2124
|
throw new Error('Permission names array cannot be empty');
|
|
2082
2125
|
case 2:
|
|
2083
2126
|
_context3.next = 4;
|
|
2084
|
-
return this.calculatePermissions(
|
|
2127
|
+
return this.calculatePermissions(location);
|
|
2085
2128
|
case 4:
|
|
2086
2129
|
ownedPermissions = _context3.sent;
|
|
2087
2130
|
missing = [];
|
|
@@ -2103,7 +2146,7 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2103
2146
|
}
|
|
2104
2147
|
}, _callee3, this);
|
|
2105
2148
|
}));
|
|
2106
|
-
function check(
|
|
2149
|
+
function check(_x4, _x5) {
|
|
2107
2150
|
return _check.apply(this, arguments);
|
|
2108
2151
|
}
|
|
2109
2152
|
return check;
|
|
@@ -2111,80 +2154,158 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2111
2154
|
}, {
|
|
2112
2155
|
key: "calculatePermissions",
|
|
2113
2156
|
value: function () {
|
|
2114
|
-
var _calculatePermissions = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee4(
|
|
2115
|
-
var _spaceMember$roles, _roomMember$roles;
|
|
2116
|
-
var userId, _yield$this$fetchMemb, _yield$this$fetchMemb2, spaceMember, roomMember, userRoles,
|
|
2157
|
+
var _calculatePermissions = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee4(location) {
|
|
2158
|
+
var _spaceMember$roles, _roomMember$roles, _yield$this$tracker$s, _yield$this$tracker$r, _yield$this$tracker$r2;
|
|
2159
|
+
var userId, _yield$this$fetchMemb, _yield$this$fetchMemb2, spaceMember, roomMember, userRoles, promises, filterLocation, _filterLocation;
|
|
2117
2160
|
return PermissionsManager_regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
2118
2161
|
while (1) {
|
|
2119
2162
|
switch (_context4.prev = _context4.next) {
|
|
2120
2163
|
case 0:
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
break;
|
|
2124
|
-
}
|
|
2125
|
-
throw new Error('Corrupted arguments hierarchy');
|
|
2126
|
-
case 2:
|
|
2127
|
-
_context4.next = 4;
|
|
2164
|
+
this.validateLocation(location);
|
|
2165
|
+
_context4.next = 3;
|
|
2128
2166
|
return this.tracker.getMe();
|
|
2129
|
-
case
|
|
2167
|
+
case 3:
|
|
2130
2168
|
userId = _context4.sent.id;
|
|
2131
|
-
_context4.next =
|
|
2132
|
-
return this.fetchMembersOrFail(
|
|
2133
|
-
case
|
|
2169
|
+
_context4.next = 6;
|
|
2170
|
+
return this.fetchMembersOrFail(location);
|
|
2171
|
+
case 6:
|
|
2134
2172
|
_yield$this$fetchMemb = _context4.sent;
|
|
2135
2173
|
_yield$this$fetchMemb2 = _slicedToArray(_yield$this$fetchMemb, 2);
|
|
2136
2174
|
spaceMember = _yield$this$fetchMemb2[0];
|
|
2137
2175
|
roomMember = _yield$this$fetchMemb2[1];
|
|
2138
2176
|
userRoles = [].concat(PermissionsManager_toConsumableArray((_spaceMember$roles = spaceMember === null || spaceMember === void 0 ? void 0 : spaceMember.roles) !== null && _spaceMember$roles !== void 0 ? _spaceMember$roles : []), PermissionsManager_toConsumableArray((_roomMember$roles = roomMember === null || roomMember === void 0 ? void 0 : roomMember.roles) !== null && _roomMember$roles !== void 0 ? _roomMember$roles : []));
|
|
2139
|
-
_context4.next = 14;
|
|
2140
|
-
return Promise.all([this.tracker.spaces.get(), this.tracker.rooms.get(), roomId ? this.tracker.rooms.getTopics(roomId) : null]);
|
|
2141
|
-
case 14:
|
|
2142
|
-
_yield$Promise$all = _context4.sent;
|
|
2143
|
-
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
|
|
2144
|
-
spaces = _yield$Promise$all2[0];
|
|
2145
|
-
rooms = _yield$Promise$all2[1];
|
|
2146
|
-
topics = _yield$Promise$all2[2];
|
|
2147
2177
|
promises = [
|
|
2148
2178
|
// Global user overwrites
|
|
2149
|
-
this.getOverwrites(
|
|
2179
|
+
this.getOverwrites({}, 'User', userId).then(function (v) {
|
|
2150
2180
|
return v.overwrites;
|
|
2151
2181
|
})];
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
}));
|
|
2182
|
+
_context4.t0 = location.spaceId;
|
|
2183
|
+
if (!_context4.t0) {
|
|
2184
|
+
_context4.next = 24;
|
|
2185
|
+
break;
|
|
2157
2186
|
}
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2187
|
+
_context4.next = 16;
|
|
2188
|
+
return this.tracker.spaces.get();
|
|
2189
|
+
case 16:
|
|
2190
|
+
_context4.t3 = _yield$this$tracker$s = _context4.sent;
|
|
2191
|
+
_context4.t2 = _context4.t3 !== null;
|
|
2192
|
+
if (!_context4.t2) {
|
|
2193
|
+
_context4.next = 20;
|
|
2194
|
+
break;
|
|
2165
2195
|
}
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
}));
|
|
2196
|
+
_context4.t2 = _yield$this$tracker$s !== void 0;
|
|
2197
|
+
case 20:
|
|
2198
|
+
_context4.t1 = _context4.t2;
|
|
2199
|
+
if (!_context4.t1) {
|
|
2200
|
+
_context4.next = 23;
|
|
2201
|
+
break;
|
|
2173
2202
|
}
|
|
2174
|
-
_context4.
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
case
|
|
2178
|
-
_context4.
|
|
2179
|
-
|
|
2203
|
+
_context4.t1 = _yield$this$tracker$s.has(location.spaceId);
|
|
2204
|
+
case 23:
|
|
2205
|
+
_context4.t0 = _context4.t1;
|
|
2206
|
+
case 24:
|
|
2207
|
+
if (!_context4.t0) {
|
|
2208
|
+
_context4.next = 28;
|
|
2209
|
+
break;
|
|
2210
|
+
}
|
|
2211
|
+
filterLocation = {
|
|
2212
|
+
spaceId: location.spaceId
|
|
2213
|
+
};
|
|
2214
|
+
promises.push(this.collectRoleOverwrites(filterLocation, userRoles));
|
|
2215
|
+
promises.push(this.getOverwrites(filterLocation, 'User', userId).then(function (v) {
|
|
2216
|
+
return v.overwrites;
|
|
2217
|
+
}));
|
|
2180
2218
|
case 28:
|
|
2219
|
+
_context4.t4 = location.roomId;
|
|
2220
|
+
if (!_context4.t4) {
|
|
2221
|
+
_context4.next = 40;
|
|
2222
|
+
break;
|
|
2223
|
+
}
|
|
2224
|
+
_context4.next = 32;
|
|
2225
|
+
return this.tracker.rooms.get();
|
|
2226
|
+
case 32:
|
|
2227
|
+
_context4.t7 = _yield$this$tracker$r = _context4.sent;
|
|
2228
|
+
_context4.t6 = _context4.t7 !== null;
|
|
2229
|
+
if (!_context4.t6) {
|
|
2230
|
+
_context4.next = 36;
|
|
2231
|
+
break;
|
|
2232
|
+
}
|
|
2233
|
+
_context4.t6 = _yield$this$tracker$r !== void 0;
|
|
2234
|
+
case 36:
|
|
2235
|
+
_context4.t5 = _context4.t6;
|
|
2236
|
+
if (!_context4.t5) {
|
|
2237
|
+
_context4.next = 39;
|
|
2238
|
+
break;
|
|
2239
|
+
}
|
|
2240
|
+
_context4.t5 = _yield$this$tracker$r.has(location.roomId);
|
|
2241
|
+
case 39:
|
|
2242
|
+
_context4.t4 = _context4.t5;
|
|
2243
|
+
case 40:
|
|
2244
|
+
if (!_context4.t4) {
|
|
2245
|
+
_context4.next = 44;
|
|
2246
|
+
break;
|
|
2247
|
+
}
|
|
2248
|
+
_filterLocation = {
|
|
2249
|
+
spaceId: location.spaceId,
|
|
2250
|
+
roomId: location.roomId
|
|
2251
|
+
};
|
|
2252
|
+
if (userRoles.length) {
|
|
2253
|
+
promises.push(this.collectRoleOverwrites(_filterLocation, userRoles));
|
|
2254
|
+
}
|
|
2255
|
+
promises.push(this.getOverwrites(_filterLocation, 'User', userId).then(function (v) {
|
|
2256
|
+
return v.overwrites;
|
|
2257
|
+
}));
|
|
2258
|
+
case 44:
|
|
2259
|
+
_context4.t8 = location.topicId;
|
|
2260
|
+
if (!_context4.t8) {
|
|
2261
|
+
_context4.next = 56;
|
|
2262
|
+
break;
|
|
2263
|
+
}
|
|
2264
|
+
_context4.next = 48;
|
|
2265
|
+
return this.tracker.rooms.getTopics(location.roomId);
|
|
2266
|
+
case 48:
|
|
2267
|
+
_context4.t11 = _yield$this$tracker$r2 = _context4.sent;
|
|
2268
|
+
_context4.t10 = _context4.t11 !== null;
|
|
2269
|
+
if (!_context4.t10) {
|
|
2270
|
+
_context4.next = 52;
|
|
2271
|
+
break;
|
|
2272
|
+
}
|
|
2273
|
+
_context4.t10 = _yield$this$tracker$r2 !== void 0;
|
|
2274
|
+
case 52:
|
|
2275
|
+
_context4.t9 = _context4.t10;
|
|
2276
|
+
if (!_context4.t9) {
|
|
2277
|
+
_context4.next = 55;
|
|
2278
|
+
break;
|
|
2279
|
+
}
|
|
2280
|
+
_context4.t9 = _yield$this$tracker$r2.has(location.topicId);
|
|
2281
|
+
case 55:
|
|
2282
|
+
_context4.t8 = _context4.t9;
|
|
2283
|
+
case 56:
|
|
2284
|
+
if (!_context4.t8) {
|
|
2285
|
+
_context4.next = 59;
|
|
2286
|
+
break;
|
|
2287
|
+
}
|
|
2288
|
+
if (userRoles.length) {
|
|
2289
|
+
promises.push(this.collectRoleOverwrites(location, userRoles));
|
|
2290
|
+
}
|
|
2291
|
+
promises.push(this.getOverwrites(location, 'User', userId).then(function (v) {
|
|
2292
|
+
return v.overwrites;
|
|
2293
|
+
}));
|
|
2294
|
+
case 59:
|
|
2295
|
+
_context4.t12 = this;
|
|
2296
|
+
_context4.next = 62;
|
|
2297
|
+
return Promise.all(promises);
|
|
2298
|
+
case 62:
|
|
2299
|
+
_context4.t13 = _context4.sent;
|
|
2300
|
+
return _context4.abrupt("return", _context4.t12.resolveOverwritesHierarchy.call(_context4.t12, _context4.t13));
|
|
2301
|
+
case 64:
|
|
2181
2302
|
case "end":
|
|
2182
2303
|
return _context4.stop();
|
|
2183
2304
|
}
|
|
2184
2305
|
}
|
|
2185
2306
|
}, _callee4, this);
|
|
2186
2307
|
}));
|
|
2187
|
-
function calculatePermissions(
|
|
2308
|
+
function calculatePermissions(_x6) {
|
|
2188
2309
|
return _calculatePermissions.apply(this, arguments);
|
|
2189
2310
|
}
|
|
2190
2311
|
return calculatePermissions;
|
|
@@ -2199,28 +2320,57 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2199
2320
|
key: "handleSpaceDeleted",
|
|
2200
2321
|
value: function handleSpaceDeleted(ev) {
|
|
2201
2322
|
var _this$overwritesPromi;
|
|
2202
|
-
var ids = this.deleteOverwritesByIdPrefix(getOvId(
|
|
2323
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId({
|
|
2324
|
+
spaceId: ev.id
|
|
2325
|
+
}));
|
|
2203
2326
|
(_this$overwritesPromi = this.overwritesPromises).forget.apply(_this$overwritesPromi, PermissionsManager_toConsumableArray(ids));
|
|
2204
2327
|
}
|
|
2205
2328
|
}, {
|
|
2206
2329
|
key: "handleRoomDeleted",
|
|
2207
|
-
value: function
|
|
2208
|
-
var
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2330
|
+
value: function () {
|
|
2331
|
+
var _handleRoomDeleted = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee5(ev) {
|
|
2332
|
+
var room, _this$overwritesPromi2, ids;
|
|
2333
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
2334
|
+
while (1) {
|
|
2335
|
+
switch (_context5.prev = _context5.next) {
|
|
2336
|
+
case 0:
|
|
2337
|
+
_context5.next = 2;
|
|
2338
|
+
return this.tracker.rooms.get();
|
|
2339
|
+
case 2:
|
|
2340
|
+
room = _context5.sent.get(ev.id);
|
|
2341
|
+
if (room) {
|
|
2342
|
+
ids = this.deleteOverwritesByIdPrefix(getOvId({
|
|
2343
|
+
spaceId: room.spaceId,
|
|
2344
|
+
roomId: room.id
|
|
2345
|
+
}));
|
|
2346
|
+
(_this$overwritesPromi2 = this.overwritesPromises).forget.apply(_this$overwritesPromi2, PermissionsManager_toConsumableArray(ids));
|
|
2347
|
+
}
|
|
2348
|
+
case 4:
|
|
2349
|
+
case "end":
|
|
2350
|
+
return _context5.stop();
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
}, _callee5, this);
|
|
2354
|
+
}));
|
|
2355
|
+
function handleRoomDeleted(_x7) {
|
|
2356
|
+
return _handleRoomDeleted.apply(this, arguments);
|
|
2357
|
+
}
|
|
2358
|
+
return handleRoomDeleted;
|
|
2359
|
+
}()
|
|
2212
2360
|
}, {
|
|
2213
2361
|
key: "handleTopicDeleted",
|
|
2214
2362
|
value: function handleTopicDeleted(ev) {
|
|
2215
2363
|
var _this$overwritesPromi3;
|
|
2216
|
-
var ids = this.deleteOverwritesByIdPrefix(getOvId(
|
|
2364
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId(ev.location));
|
|
2217
2365
|
(_this$overwritesPromi3 = this.overwritesPromises).forget.apply(_this$overwritesPromi3, PermissionsManager_toConsumableArray(ids));
|
|
2218
2366
|
}
|
|
2219
2367
|
}, {
|
|
2220
2368
|
key: "handleRoleDeleted",
|
|
2221
2369
|
value: function handleRoleDeleted(ev) {
|
|
2222
2370
|
var _this$overwritesPromi4;
|
|
2223
|
-
var ids = this.deleteOverwritesByIdPrefix(getOvId(
|
|
2371
|
+
var ids = this.deleteOverwritesByIdPrefix(getOvId({
|
|
2372
|
+
spaceId: ev.spaceId
|
|
2373
|
+
}, 'Role', ev.id));
|
|
2224
2374
|
(_this$overwritesPromi4 = this.overwritesPromises).forget.apply(_this$overwritesPromi4, PermissionsManager_toConsumableArray(ids));
|
|
2225
2375
|
}
|
|
2226
2376
|
}, {
|
|
@@ -2262,28 +2412,28 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2262
2412
|
}, {
|
|
2263
2413
|
key: "collectRoleOverwrites",
|
|
2264
2414
|
value: function () {
|
|
2265
|
-
var _collectRoleOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
2415
|
+
var _collectRoleOverwrites = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee6(location, userRoles) {
|
|
2266
2416
|
var _this4 = this;
|
|
2267
2417
|
var roleOverwrites;
|
|
2268
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
2418
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
2269
2419
|
while (1) {
|
|
2270
|
-
switch (
|
|
2420
|
+
switch (_context6.prev = _context6.next) {
|
|
2271
2421
|
case 0:
|
|
2272
|
-
|
|
2422
|
+
_context6.next = 2;
|
|
2273
2423
|
return Promise.all(userRoles.map(function (roleId) {
|
|
2274
|
-
return _this4.getOverwrites(
|
|
2424
|
+
return _this4.getOverwrites(location, 'Role', roleId);
|
|
2275
2425
|
}));
|
|
2276
2426
|
case 2:
|
|
2277
|
-
roleOverwrites =
|
|
2278
|
-
return
|
|
2427
|
+
roleOverwrites = _context6.sent;
|
|
2428
|
+
return _context6.abrupt("return", this.resolveOverwritesFromRolesByOrder(location.spaceId, roleOverwrites));
|
|
2279
2429
|
case 4:
|
|
2280
2430
|
case "end":
|
|
2281
|
-
return
|
|
2431
|
+
return _context6.stop();
|
|
2282
2432
|
}
|
|
2283
2433
|
}
|
|
2284
|
-
},
|
|
2434
|
+
}, _callee6, this);
|
|
2285
2435
|
}));
|
|
2286
|
-
function collectRoleOverwrites(
|
|
2436
|
+
function collectRoleOverwrites(_x8, _x9) {
|
|
2287
2437
|
return _collectRoleOverwrites.apply(this, arguments);
|
|
2288
2438
|
}
|
|
2289
2439
|
return collectRoleOverwrites;
|
|
@@ -2291,17 +2441,17 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2291
2441
|
}, {
|
|
2292
2442
|
key: "resolveOverwritesFromRolesByOrder",
|
|
2293
2443
|
value: function () {
|
|
2294
|
-
var _resolveOverwritesFromRolesByOrder = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
2444
|
+
var _resolveOverwritesFromRolesByOrder = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee7(spaceId, overwrites) {
|
|
2295
2445
|
var allows, denies, roles, sortedOverwrites, permissionsLength;
|
|
2296
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
2446
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
2297
2447
|
while (1) {
|
|
2298
|
-
switch (
|
|
2448
|
+
switch (_context7.prev = _context7.next) {
|
|
2299
2449
|
case 0:
|
|
2300
2450
|
allows = 0, denies = 0;
|
|
2301
|
-
|
|
2451
|
+
_context7.next = 3;
|
|
2302
2452
|
return this.tracker.spaces.getRoles(spaceId);
|
|
2303
2453
|
case 3:
|
|
2304
|
-
roles =
|
|
2454
|
+
roles = _context7.sent;
|
|
2305
2455
|
sortedOverwrites = overwrites.sort(function (a, b) {
|
|
2306
2456
|
return roles.get(a.targetId).priority - roles.get(b.targetId).priority;
|
|
2307
2457
|
}); // Max length of bit word
|
|
@@ -2326,18 +2476,18 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2326
2476
|
}
|
|
2327
2477
|
}
|
|
2328
2478
|
});
|
|
2329
|
-
return
|
|
2479
|
+
return _context7.abrupt("return", {
|
|
2330
2480
|
allow: allows,
|
|
2331
2481
|
deny: denies
|
|
2332
2482
|
});
|
|
2333
2483
|
case 8:
|
|
2334
2484
|
case "end":
|
|
2335
|
-
return
|
|
2485
|
+
return _context7.stop();
|
|
2336
2486
|
}
|
|
2337
2487
|
}
|
|
2338
|
-
},
|
|
2488
|
+
}, _callee7, this);
|
|
2339
2489
|
}));
|
|
2340
|
-
function resolveOverwritesFromRolesByOrder(
|
|
2490
|
+
function resolveOverwritesFromRolesByOrder(_x10, _x11) {
|
|
2341
2491
|
return _resolveOverwritesFromRolesByOrder.apply(this, arguments);
|
|
2342
2492
|
}
|
|
2343
2493
|
return resolveOverwritesFromRolesByOrder;
|
|
@@ -2384,38 +2534,45 @@ var PermissionsManager = /*#__PURE__*/function (_EventTarget) {
|
|
|
2384
2534
|
}, {
|
|
2385
2535
|
key: "fetchMembersOrFail",
|
|
2386
2536
|
value: function () {
|
|
2387
|
-
var _fetchMembersOrFail = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function
|
|
2537
|
+
var _fetchMembersOrFail = PermissionsManager_asyncToGenerator( /*#__PURE__*/PermissionsManager_regeneratorRuntime().mark(function _callee8(location) {
|
|
2388
2538
|
var results, spaceFail, roomFail, layer;
|
|
2389
|
-
return PermissionsManager_regeneratorRuntime().wrap(function
|
|
2539
|
+
return PermissionsManager_regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
2390
2540
|
while (1) {
|
|
2391
|
-
switch (
|
|
2541
|
+
switch (_context8.prev = _context8.next) {
|
|
2392
2542
|
case 0:
|
|
2393
|
-
|
|
2394
|
-
return Promise.all([spaceId ? this.tracker.spaces.getMe(spaceId) : null, roomId ? this.tracker.rooms.getMe(roomId) : null]);
|
|
2543
|
+
_context8.next = 2;
|
|
2544
|
+
return Promise.all([location.spaceId ? this.tracker.spaces.getMe(location.spaceId) : null, location.roomId ? this.tracker.rooms.getMe(location.roomId) : null]);
|
|
2395
2545
|
case 2:
|
|
2396
|
-
results =
|
|
2397
|
-
spaceFail = spaceId && !results[0];
|
|
2398
|
-
roomFail = roomId && !results[1];
|
|
2546
|
+
results = _context8.sent;
|
|
2547
|
+
spaceFail = location.spaceId && !results[0];
|
|
2548
|
+
roomFail = location.roomId && !results[1];
|
|
2399
2549
|
if (!(spaceFail || roomFail)) {
|
|
2400
|
-
|
|
2550
|
+
_context8.next = 8;
|
|
2401
2551
|
break;
|
|
2402
2552
|
}
|
|
2403
|
-
layer = spaceFail ? "space (".concat(spaceId, ")") : "room (".concat(roomId, ")");
|
|
2553
|
+
layer = spaceFail ? "space (".concat(location.spaceId, ")") : "room (".concat(location.roomId, ")");
|
|
2404
2554
|
throw new Error("Attempting to calculate permissions for a ".concat(layer, " that the user does not belong to"));
|
|
2405
2555
|
case 8:
|
|
2406
|
-
return
|
|
2556
|
+
return _context8.abrupt("return", results);
|
|
2407
2557
|
case 9:
|
|
2408
2558
|
case "end":
|
|
2409
|
-
return
|
|
2559
|
+
return _context8.stop();
|
|
2410
2560
|
}
|
|
2411
2561
|
}
|
|
2412
|
-
},
|
|
2562
|
+
}, _callee8, this);
|
|
2413
2563
|
}));
|
|
2414
|
-
function fetchMembersOrFail(
|
|
2564
|
+
function fetchMembersOrFail(_x12) {
|
|
2415
2565
|
return _fetchMembersOrFail.apply(this, arguments);
|
|
2416
2566
|
}
|
|
2417
2567
|
return fetchMembersOrFail;
|
|
2418
2568
|
}()
|
|
2569
|
+
}, {
|
|
2570
|
+
key: "validateLocation",
|
|
2571
|
+
value: function validateLocation(location) {
|
|
2572
|
+
if (location.topicId && !location.roomId || !location.spaceId && !location.roomId && !location.topicId) {
|
|
2573
|
+
throw new Error('Corrupted arguments hierarchy');
|
|
2574
|
+
}
|
|
2575
|
+
}
|
|
2419
2576
|
}]);
|
|
2420
2577
|
return PermissionsManager;
|
|
2421
2578
|
}(EventTarget);
|
|
@@ -2436,24 +2593,24 @@ function ChatStateTracker_toPrimitive(input, hint) { if (ChatStateTracker_typeof
|
|
|
2436
2593
|
|
|
2437
2594
|
var ChatStateTracker = /*#__PURE__*/function () {
|
|
2438
2595
|
/**
|
|
2439
|
-
* State of
|
|
2596
|
+
* State of your permissions.
|
|
2440
2597
|
*/
|
|
2441
2598
|
|
|
2442
2599
|
/**
|
|
2443
|
-
* State of the
|
|
2600
|
+
* State of the rooms you are in.
|
|
2444
2601
|
*/
|
|
2445
2602
|
|
|
2446
2603
|
/**
|
|
2447
|
-
* State of
|
|
2604
|
+
* State of the spaces you are in.
|
|
2448
2605
|
*/
|
|
2449
2606
|
|
|
2450
2607
|
function ChatStateTracker(client) {
|
|
2451
2608
|
var _this = this;
|
|
2452
2609
|
ChatStateTracker_classCallCheck(this, ChatStateTracker);
|
|
2453
2610
|
this.client = client;
|
|
2611
|
+
ChatStateTracker_defineProperty(this, "permissions", new PermissionsManager(this));
|
|
2454
2612
|
ChatStateTracker_defineProperty(this, "rooms", new RoomsManager(this));
|
|
2455
2613
|
ChatStateTracker_defineProperty(this, "spaces", new SpacesManager(this));
|
|
2456
|
-
ChatStateTracker_defineProperty(this, "permissions", new PermissionsManager(this));
|
|
2457
2614
|
ChatStateTracker_defineProperty(this, "_me", null);
|
|
2458
2615
|
ChatStateTracker_defineProperty(this, "deferredSession", new DeferredTask());
|
|
2459
2616
|
this.client.on('Session', function (ev) {
|