From d025bf32323e57f03e5f5232bc54e960014199e8 Mon Sep 17 00:00:00 2001 From: Marcos Defendi Date: Mon, 12 Nov 2018 10:26:33 -0200 Subject: [PATCH 1/3] Exposing RoomManager variable --- packages/rocketchat-ui/client/lib/RoomManager.js | 3 +-- packages/rocketchat-ui/package.js | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rocketchat-ui/client/lib/RoomManager.js b/packages/rocketchat-ui/client/lib/RoomManager.js index 54e6c9897ad5..9b1df2de6c2f 100644 --- a/packages/rocketchat-ui/client/lib/RoomManager.js +++ b/packages/rocketchat-ui/client/lib/RoomManager.js @@ -19,7 +19,7 @@ const onDeleteMessageBulkStream = ({ rid, ts, excludePinned, users }) => { ChatMessage.remove(query); }; -const RoomManager = new function() { +RoomManager = new function() { //eslint-disable-line const openedRooms = {}; const msgStream = new Meteor.Streamer('room-messages'); const onlineUsers = new ReactiveVar({}); @@ -310,7 +310,6 @@ Tracker.autorun(function() { }); export { RoomManager }; -this.RoomManager = RoomManager; RocketChat.callbacks.add('afterLogoutCleanUp', () => RoomManager.closeAllRooms(), RocketChat.callbacks.priority.MEDIUM, 'roommanager-after-logout-cleanup'); RocketChat.CachedCollectionManager.onLogin(() => { diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index 6ce477dc761e..0217de0ee670 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -152,4 +152,5 @@ Package.onUse(function(api) { api.export('ChatRoom', 'client'); api.export('ChatSubscription', 'client'); api.export('RoomRoles', 'client'); + api.export('RoomManager', 'client'); }); From 0e4e89bf6515f8ae0868bdadb52f1c7646b3699a Mon Sep 17 00:00:00 2001 From: Marcos Defendi Date: Mon, 12 Nov 2018 10:27:01 -0200 Subject: [PATCH 2/3] Convert rocketchat-channel-settings to main module structure --- .../client/index.js | 7 +++ .../client/lib/ChannelSettings.js | 1 + .../client/startup/messageTypes.js | 2 + .../client/startup/tabBar.js | 1 + .../client/startup/trackSettingsChange.js | 2 + .../client/views/channelSettings.js | 1 + .../rocketchat-channel-settings/package.js | 50 ++++++++++--------- .../server/functions/saveReactWhenReadOnly.js | 1 + .../server/functions/saveRoomAnnouncement.js | 1 + .../server/functions/saveRoomCustomFields.js | 1 + .../server/functions/saveRoomDescription.js | 1 + .../server/functions/saveRoomName.js | 1 + .../server/functions/saveRoomReadOnly.js | 1 + .../functions/saveRoomSystemMessages.js | 1 + .../server/functions/saveRoomTopic.js | 1 + .../server/functions/saveRoomType.js | 1 + .../server/index.js | 13 +++++ .../server/methods/saveRoomSettings.js | 1 + .../server/models/Messages.js | 2 + .../server/models/Rooms.js | 2 + .../server/startup.js | 1 + 21 files changed, 68 insertions(+), 24 deletions(-) create mode 100644 packages/rocketchat-channel-settings/client/index.js create mode 100644 packages/rocketchat-channel-settings/server/index.js diff --git a/packages/rocketchat-channel-settings/client/index.js b/packages/rocketchat-channel-settings/client/index.js new file mode 100644 index 000000000000..dfe421664c87 --- /dev/null +++ b/packages/rocketchat-channel-settings/client/index.js @@ -0,0 +1,7 @@ +import './stylesheets/channel-settings.css'; +import './startup/messageTypes'; +import './startup/tabBar'; +import './startup/trackSettingsChange'; +import './lib/ChannelSettings'; +import './views/channelSettings.html'; +import './views/channelSettings'; diff --git a/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js b/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js index b3e0cb815864..f643d2c6674b 100644 --- a/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js +++ b/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js @@ -1,5 +1,6 @@ import { ReactiveVar } from 'meteor/reactive-var'; import { Tracker } from 'meteor/tracker'; +import { RocketChat } from 'meteor/rocketchat:lib'; import _ from 'underscore'; RocketChat.ChannelSettings = new class { diff --git a/packages/rocketchat-channel-settings/client/startup/messageTypes.js b/packages/rocketchat-channel-settings/client/startup/messageTypes.js index 89705ce0f2f9..5f38103ab24d 100644 --- a/packages/rocketchat-channel-settings/client/startup/messageTypes.js +++ b/packages/rocketchat-channel-settings/client/startup/messageTypes.js @@ -1,4 +1,6 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { t } from 'meteor/rocketchat:ui'; import s from 'underscore.string'; Meteor.startup(function() { diff --git a/packages/rocketchat-channel-settings/client/startup/tabBar.js b/packages/rocketchat-channel-settings/client/startup/tabBar.js index 1066d10b06e2..4f61bca98c57 100644 --- a/packages/rocketchat-channel-settings/client/startup/tabBar.js +++ b/packages/rocketchat-channel-settings/client/startup/tabBar.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(() => { RocketChat.TabBar.addButton({ diff --git a/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js b/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js index 9cdad921cca8..5827d5c16f42 100644 --- a/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js +++ b/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js @@ -2,6 +2,8 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { FlowRouter } from 'meteor/kadira:flow-router'; import { Session } from 'meteor/session'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { ChatRoom, RoomManager } from 'meteor/rocketchat:ui'; Meteor.startup(function() { const roomSettingsChangedCallback = (msg) => { diff --git a/packages/rocketchat-channel-settings/client/views/channelSettings.js b/packages/rocketchat-channel-settings/client/views/channelSettings.js index c4c76d8fed32..d207a2d7fb1f 100644 --- a/packages/rocketchat-channel-settings/client/views/channelSettings.js +++ b/packages/rocketchat-channel-settings/client/views/channelSettings.js @@ -7,6 +7,7 @@ import toastr from 'toastr'; import moment from 'moment'; import s from 'underscore.string'; import { call, erase, hide, leave, RocketChat, RoomSettingsEnum } from 'meteor/rocketchat:lib'; +import { modal, t, ChatRoom } from 'meteor/rocketchat:ui'; const common = { canLeaveRoom() { diff --git a/packages/rocketchat-channel-settings/package.js b/packages/rocketchat-channel-settings/package.js index 0826b364130b..834c6f390e9e 100644 --- a/packages/rocketchat-channel-settings/package.js +++ b/packages/rocketchat-channel-settings/package.js @@ -13,30 +13,32 @@ Package.onUse(function(api) { 'templating', 'rocketchat:lib', ]); + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); - api.addFiles([ - 'client/lib/ChannelSettings.js', - 'client/startup/messageTypes.js', - 'client/startup/tabBar.js', - 'client/startup/trackSettingsChange.js', - 'client/views/channelSettings.html', - 'client/views/channelSettings.js', - 'client/stylesheets/channel-settings.css', - ], 'client'); + // api.addFiles([ + // 'client/lib/ChannelSettings.js', + // 'client/startup/messageTypes.js', + // 'client/startup/tabBar.js', + // 'client/startup/trackSettingsChange.js', + // 'client/views/channelSettings.html', + // 'client/views/channelSettings.js', + // 'client/stylesheets/channel-settings.css', + // ], 'client'); - api.addFiles([ - 'server/functions/saveReactWhenReadOnly.js', - 'server/functions/saveRoomType.js', - 'server/functions/saveRoomTopic.js', - 'server/functions/saveRoomCustomFields.js', - 'server/functions/saveRoomAnnouncement.js', - 'server/functions/saveRoomName.js', - 'server/functions/saveRoomReadOnly.js', - 'server/functions/saveRoomDescription.js', - 'server/functions/saveRoomSystemMessages.js', - 'server/methods/saveRoomSettings.js', - 'server/models/Messages.js', - 'server/models/Rooms.js', - 'server/startup.js', - ], 'server'); + // api.addFiles([ + // 'server/functions/saveReactWhenReadOnly.js', + // 'server/functions/saveRoomType.js', + // 'server/functions/saveRoomTopic.js', + // 'server/functions/saveRoomCustomFields.js', + // 'server/functions/saveRoomAnnouncement.js', + // 'server/functions/saveRoomName.js', + // 'server/functions/saveRoomReadOnly.js', + // 'server/functions/saveRoomDescription.js', + // 'server/functions/saveRoomSystemMessages.js', + // 'server/methods/saveRoomSettings.js', + // 'server/models/Messages.js', + // 'server/models/Rooms.js', + // 'server/startup.js', + // ], 'server'); }); diff --git a/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js b/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js index 1d6a39572c5a..23237f9316bf 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js +++ b/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveReactWhenReadOnly = function(rid, allowReact) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js b/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js index af039e578d9f..82c7621936a2 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomAnnouncement = function(rid, roomAnnouncement, user, sendMessage = true) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js b/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js index 0904b8df0be5..c39dc662a7f6 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomCustomFields = function(rid, roomCustomFields) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js b/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js index fef1be51df1f..c515e6b44eaf 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomDescription = function(rid, roomDescription, user) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomName.js b/packages/rocketchat-channel-settings/server/functions/saveRoomName.js index bae9ba5637fe..32c9f9aaf7a1 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomName.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomName.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomName = function(rid, displayName, user, sendMessage = true) { const room = RocketChat.models.Rooms.findOneById(rid); diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js b/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js index d6bcd8f379a1..7db4b0610afd 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomReadOnly = function(rid, readOnly) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js b/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js index be89b765505b..26bc61e1e03d 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomSystemMessages = function(rid, systemMessages) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js b/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js index a315880273d4..7a76f6fb6f97 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomTopic = function(rid, roomTopic, user, sendMessage = true) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomType.js b/packages/rocketchat-channel-settings/server/functions/saveRoomType.js index cd46aa28b723..a495c2b270b8 100644 --- a/packages/rocketchat-channel-settings/server/functions/saveRoomType.js +++ b/packages/rocketchat-channel-settings/server/functions/saveRoomType.js @@ -1,6 +1,7 @@ import { Meteor } from 'meteor/meteor'; import { Match } from 'meteor/check'; import { TAPi18n } from 'meteor/tap:i18n'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveRoomType = function(rid, roomType, user, sendMessage = true) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-channel-settings/server/index.js b/packages/rocketchat-channel-settings/server/index.js new file mode 100644 index 000000000000..02ce04779f0d --- /dev/null +++ b/packages/rocketchat-channel-settings/server/index.js @@ -0,0 +1,13 @@ +import './startup'; +import './models/Messages'; +import './models/Rooms'; +import './functions/saveReactWhenReadOnly'; +import './functions/saveRoomAnnouncement'; +import './functions/saveRoomCustomFields'; +import './functions/saveRoomDescription'; +import './functions/saveRoomName'; +import './functions/saveRoomReadOnly'; +import './functions/saveRoomSystemMessages'; +import './functions/saveRoomTopic'; +import './functions/saveRoomType'; +import './methods/saveRoomSettings'; diff --git a/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js b/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js index 91ced595653e..9f9b41f58da0 100644 --- a/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js +++ b/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match, check } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; const fields = ['roomName', 'roomTopic', 'roomAnnouncement', 'roomCustomFields', 'roomDescription', 'roomType', 'readOnly', 'reactWhenReadOnly', 'systemMessages', 'default', 'joinCode', 'tokenpass', 'streamingOptions', 'retentionEnabled', 'retentionMaxAge', 'retentionExcludePinned', 'retentionFilesOnly', 'retentionOverrideGlobal', 'encrypted']; Meteor.methods({ diff --git a/packages/rocketchat-channel-settings/server/models/Messages.js b/packages/rocketchat-channel-settings/server/models/Messages.js index 6f4e473375b3..2e8b4ee5812c 100644 --- a/packages/rocketchat-channel-settings/server/models/Messages.js +++ b/packages/rocketchat-channel-settings/server/models/Messages.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.models.Messages.createRoomSettingsChangedWithTypeRoomIdMessageAndUser = function(type, roomId, message, user, extraData) { return this.createWithTypeRoomIdMessageAndUser(type, roomId, message, user, extraData); }; diff --git a/packages/rocketchat-channel-settings/server/models/Rooms.js b/packages/rocketchat-channel-settings/server/models/Rooms.js index 5f61ff7fce4c..6dae5225e441 100644 --- a/packages/rocketchat-channel-settings/server/models/Rooms.js +++ b/packages/rocketchat-channel-settings/server/models/Rooms.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.models.Rooms.setDescriptionById = function(_id, description) { const query = { _id, diff --git a/packages/rocketchat-channel-settings/server/startup.js b/packages/rocketchat-channel-settings/server/startup.js index 36493ac35ef6..81e6fde8d366 100644 --- a/packages/rocketchat-channel-settings/server/startup.js +++ b/packages/rocketchat-channel-settings/server/startup.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { RocketChat.models.Permissions.upsert('post-readonly', { $setOnInsert: { roles: ['admin', 'owner', 'moderator'] } }); From d63c74c1949f8c6c2ece0d7a520805b2d2599a4c Mon Sep 17 00:00:00 2001 From: Marcos Defendi Date: Mon, 12 Nov 2018 11:01:18 -0200 Subject: [PATCH 3/3] Remove commented code --- .../rocketchat-channel-settings/package.js | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/packages/rocketchat-channel-settings/package.js b/packages/rocketchat-channel-settings/package.js index 834c6f390e9e..ef857658f769 100644 --- a/packages/rocketchat-channel-settings/package.js +++ b/packages/rocketchat-channel-settings/package.js @@ -15,30 +15,4 @@ Package.onUse(function(api) { ]); api.mainModule('client/index.js', 'client'); api.mainModule('server/index.js', 'server'); - - // api.addFiles([ - // 'client/lib/ChannelSettings.js', - // 'client/startup/messageTypes.js', - // 'client/startup/tabBar.js', - // 'client/startup/trackSettingsChange.js', - // 'client/views/channelSettings.html', - // 'client/views/channelSettings.js', - // 'client/stylesheets/channel-settings.css', - // ], 'client'); - - // api.addFiles([ - // 'server/functions/saveReactWhenReadOnly.js', - // 'server/functions/saveRoomType.js', - // 'server/functions/saveRoomTopic.js', - // 'server/functions/saveRoomCustomFields.js', - // 'server/functions/saveRoomAnnouncement.js', - // 'server/functions/saveRoomName.js', - // 'server/functions/saveRoomReadOnly.js', - // 'server/functions/saveRoomDescription.js', - // 'server/functions/saveRoomSystemMessages.js', - // 'server/methods/saveRoomSettings.js', - // 'server/models/Messages.js', - // 'server/models/Rooms.js', - // 'server/startup.js', - // ], 'server'); });