diff --git a/.eslintrc b/.eslintrc index 37217240f006c..74f9766d2044d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,15 +6,6 @@ "__meteor_runtime_config__" : false, "Assets" : false, "chrome" : false, - "DynamicCss" : false, - "handleError" : false, - "getAvatarSuggestionForUser" : false, - "JitsiMeetExternalAPI" : false, - "jscolor" : false, - "msgStream" : false, - "openRoom" : false, - "RocketChat" : true, - "roomExit" : true, - "Settings" : false + "jscolor" : false } } diff --git a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js index cad53ee61181b..e23b9942a86f3 100644 --- a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js +++ b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js @@ -3,7 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var'; import { Random } from 'meteor/random'; import { Template } from 'meteor/templating'; import { ChatSubscription, Subscriptions, Messages } from 'meteor/rocketchat:models'; -import { t } from 'meteor/rocketchat:utils'; +import { t, handleError } from 'meteor/rocketchat:utils'; import _ from 'underscore'; import toastr from 'toastr'; diff --git a/packages/rocketchat-lib/client/AdminBox.js b/packages/rocketchat-lib/client/AdminBox.js deleted file mode 100644 index 1c6be9b9a9cf4..0000000000000 --- a/packages/rocketchat-lib/client/AdminBox.js +++ /dev/null @@ -1,3 +0,0 @@ -import { AdminBox } from 'meteor/rocketchat:ui-utils'; - -RocketChat.AdminBox = AdminBox; diff --git a/packages/rocketchat-lib/client/CustomTranslations.js b/packages/rocketchat-lib/client/CustomTranslations.js index f3e9760d9d502..2e8ff16954cb0 100644 --- a/packages/rocketchat-lib/client/CustomTranslations.js +++ b/packages/rocketchat-lib/client/CustomTranslations.js @@ -4,8 +4,6 @@ import { TAPi18n } from 'meteor/tap:i18n'; import { applyCustomTranslations } from 'meteor/rocketchat:utils'; import { Tracker } from 'meteor/tracker'; -RocketChat.applyCustomTranslations = applyCustomTranslations; - Meteor.startup(function() { Tracker.autorun(function() { // Re apply translations if tap language was changed diff --git a/packages/rocketchat-lib/client/MessageAction.js b/packages/rocketchat-lib/client/MessageAction.js deleted file mode 100644 index d317bb6b490d2..0000000000000 --- a/packages/rocketchat-lib/client/MessageAction.js +++ /dev/null @@ -1,3 +0,0 @@ -import { MessageAction } from 'meteor/rocketchat:ui-utils'; - -RocketChat.MessageAction = MessageAction; diff --git a/packages/rocketchat-lib/client/Notifications.js b/packages/rocketchat-lib/client/Notifications.js deleted file mode 100644 index beb33a23d2199..0000000000000 --- a/packages/rocketchat-lib/client/Notifications.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Notifications } from 'meteor/rocketchat:notifications'; - -RocketChat.Notifications = Notifications; diff --git a/packages/rocketchat-lib/client/lib/ChannelSettings.js b/packages/rocketchat-lib/client/lib/ChannelSettings.js deleted file mode 100644 index 18d993c4ac86b..0000000000000 --- a/packages/rocketchat-lib/client/lib/ChannelSettings.js +++ /dev/null @@ -1,3 +0,0 @@ -import { ChannelSettings } from 'meteor/rocketchat:channel-settings'; - -RocketChat.ChannelSettings = ChannelSettings; diff --git a/packages/rocketchat-lib/client/lib/CustomSounds.js b/packages/rocketchat-lib/client/lib/CustomSounds.js deleted file mode 100644 index 38553447e4c0d..0000000000000 --- a/packages/rocketchat-lib/client/lib/CustomSounds.js +++ /dev/null @@ -1,3 +0,0 @@ -import { CustomSounds } from 'meteor/rocketchat:custom-sounds'; - -RocketChat.CustomSounds = CustomSounds; diff --git a/packages/rocketchat-lib/client/lib/EmojiPicker.js b/packages/rocketchat-lib/client/lib/EmojiPicker.js deleted file mode 100644 index cea3e8899b4bc..0000000000000 --- a/packages/rocketchat-lib/client/lib/EmojiPicker.js +++ /dev/null @@ -1,3 +0,0 @@ -import { EmojiPicker } from 'meteor/rocketchat:emoji'; - -RocketChat.EmojiPicker = EmojiPicker; diff --git a/packages/rocketchat-lib/client/lib/Layout.js b/packages/rocketchat-lib/client/lib/Layout.js deleted file mode 100644 index 3d84f446438b4..0000000000000 --- a/packages/rocketchat-lib/client/lib/Layout.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Layout } from 'meteor/rocketchat:ui-utils'; - -RocketChat.Layout = Layout; - diff --git a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js b/packages/rocketchat-lib/client/lib/RocketChatTabBar.js deleted file mode 100644 index 5956a4199343a..0000000000000 --- a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js +++ /dev/null @@ -1 +0,0 @@ -export { RocketChatTabBar } from 'meteor/rocketchat:ui-utils'; diff --git a/packages/rocketchat-lib/client/lib/TabBar.js b/packages/rocketchat-lib/client/lib/TabBar.js deleted file mode 100644 index 6bbc9d5f09d0b..0000000000000 --- a/packages/rocketchat-lib/client/lib/TabBar.js +++ /dev/null @@ -1,3 +0,0 @@ -import { TabBar } from 'meteor/rocketchat:ui-utils'; - -RocketChat.TabBar = TabBar; diff --git a/packages/rocketchat-lib/client/lib/authorization.js b/packages/rocketchat-lib/client/lib/authorization.js deleted file mode 100644 index 5431070179eb0..0000000000000 --- a/packages/rocketchat-lib/client/lib/authorization.js +++ /dev/null @@ -1,6 +0,0 @@ -import { hasAllPermission, hasAtLeastOnePermission, hasRole } from 'meteor/rocketchat:authorization'; - -RocketChat.authz.hasAllPermission = hasAllPermission; -RocketChat.authz.hasPermission = RocketChat.authz.hasAllPermission; -RocketChat.authz.hasAtLeastOnePermission = hasAtLeastOnePermission; -RocketChat.authz.hasRole = hasRole; diff --git a/packages/rocketchat-lib/client/lib/cachedCollection.js b/packages/rocketchat-lib/client/lib/cachedCollection.js deleted file mode 100644 index 3f3a74f48ae2a..0000000000000 --- a/packages/rocketchat-lib/client/lib/cachedCollection.js +++ /dev/null @@ -1,4 +0,0 @@ -import { CachedCollection, CachedCollectionManager } from 'meteor/rocketchat:ui-cached-collection'; - -RocketChat.CachedCollectionManager = CachedCollectionManager; -RocketChat.CachedCollection = CachedCollection; diff --git a/packages/rocketchat-lib/client/lib/handleError.js b/packages/rocketchat-lib/client/lib/handleError.js deleted file mode 100644 index 1902d53f55b23..0000000000000 --- a/packages/rocketchat-lib/client/lib/handleError.js +++ /dev/null @@ -1,3 +0,0 @@ -import { handleError as _handleError } from 'meteor/rocketchat:utils'; - -handleError = _handleError; diff --git a/packages/rocketchat-lib/client/lib/openRoom.js b/packages/rocketchat-lib/client/lib/openRoom.js deleted file mode 100644 index e44424c18a832..0000000000000 --- a/packages/rocketchat-lib/client/lib/openRoom.js +++ /dev/null @@ -1,3 +0,0 @@ -import { openRoom as _openRoom } from 'meteor/rocketchat:ui-utils'; - -openRoom = _openRoom; diff --git a/packages/rocketchat-lib/client/lib/roomTypes.js b/packages/rocketchat-lib/client/lib/roomTypes.js deleted file mode 100644 index 34dc06dc507fb..0000000000000 --- a/packages/rocketchat-lib/client/lib/roomTypes.js +++ /dev/null @@ -1,3 +0,0 @@ -import { roomTypes } from 'meteor/rocketchat:utils'; - -RocketChat.roomTypes = roomTypes; diff --git a/packages/rocketchat-lib/client/lib/sandstorm.js b/packages/rocketchat-lib/client/lib/sandstorm.js deleted file mode 100644 index c2a9a45ee5eb4..0000000000000 --- a/packages/rocketchat-lib/client/lib/sandstorm.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Sandstorm } from 'meteor/rocketchat:sandstorm'; - -RocketChat.Sandstorm = Sandstorm; diff --git a/packages/rocketchat-lib/client/lib/tooltip.js b/packages/rocketchat-lib/client/lib/tooltip.js deleted file mode 100644 index 15ed1c87ed501..0000000000000 --- a/packages/rocketchat-lib/client/lib/tooltip.js +++ /dev/null @@ -1,3 +0,0 @@ -import { tooltip } from 'meteor/rocketchat:tooltip'; - -RocketChat.tooltip = tooltip; diff --git a/packages/rocketchat-lib/client/lib/ui-buttons.js b/packages/rocketchat-lib/client/lib/ui-buttons.js deleted file mode 100644 index cf026fe7cfc3e..0000000000000 --- a/packages/rocketchat-lib/client/lib/ui-buttons.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Login, Button, animationSupport, animeBack, preLoadImgs } from 'meteor/rocketchat:ui'; - -RocketChat.Login = Login; -RocketChat.Button = Button; -RocketChat.animationSupport = animationSupport; -RocketChat.animeBack = animeBack; -RocketChat.preLoadImgs = preLoadImgs; diff --git a/packages/rocketchat-lib/client/models/ChatPermissions.js b/packages/rocketchat-lib/client/models/ChatPermissions.js deleted file mode 100644 index cf1407bf678c8..0000000000000 --- a/packages/rocketchat-lib/client/models/ChatPermissions.js +++ /dev/null @@ -1,3 +0,0 @@ -import { AuthzCachedCollection } from 'meteor/rocketchat:models'; - -RocketChat.authz.cachedCollection = AuthzCachedCollection; diff --git a/packages/rocketchat-lib/client/models/Messages.js b/packages/rocketchat-lib/client/models/Messages.js deleted file mode 100644 index e93cab1ba1ab7..0000000000000 --- a/packages/rocketchat-lib/client/models/Messages.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Messages } from 'meteor/rocketchat:models'; -import _ from 'underscore'; - -RocketChat.models.Messages = _.extend({}, RocketChat.models.Messages, Messages); diff --git a/packages/rocketchat-lib/client/models/Roles.js b/packages/rocketchat-lib/client/models/Roles.js deleted file mode 100644 index ab7f37e17afbe..0000000000000 --- a/packages/rocketchat-lib/client/models/Roles.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Roles } from 'meteor/rocketchat:models'; -import _ from 'underscore'; - -RocketChat.models.Roles = _.extend({}, RocketChat.models.Roles, Roles); diff --git a/packages/rocketchat-lib/client/models/Rooms.js b/packages/rocketchat-lib/client/models/Rooms.js deleted file mode 100644 index c69ecb50558f4..0000000000000 --- a/packages/rocketchat-lib/client/models/Rooms.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Rooms } from 'meteor/rocketchat:models'; -import _ from 'underscore'; - -RocketChat.models.Rooms = _.extend({}, RocketChat.models.Rooms, Rooms); diff --git a/packages/rocketchat-lib/client/models/Subscriptions.js b/packages/rocketchat-lib/client/models/Subscriptions.js deleted file mode 100644 index fc84237a87730..0000000000000 --- a/packages/rocketchat-lib/client/models/Subscriptions.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Subscriptions } from 'meteor/rocketchat:models'; -import _ from 'underscore'; - -RocketChat.models.Subscriptions = _.extend({}, RocketChat.models.Subscriptions, Subscriptions); diff --git a/packages/rocketchat-lib/client/models/Users.js b/packages/rocketchat-lib/client/models/Users.js deleted file mode 100644 index 498a132919d30..0000000000000 --- a/packages/rocketchat-lib/client/models/Users.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Users } from 'meteor/rocketchat:models'; -import _ from 'underscore'; - -RocketChat.models.Users = _.extend({}, RocketChat.models.Users, Users); diff --git a/packages/rocketchat-lib/client/models/index.js b/packages/rocketchat-lib/client/models/index.js deleted file mode 100644 index 9f619d8adc6a4..0000000000000 --- a/packages/rocketchat-lib/client/models/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import { Base as _Base, Avatars, Uploads, UserDataFiles, CustomSounds, EmojiCustom } from 'meteor/rocketchat:models'; - -Object.assign(RocketChat.models, { - _Base, - Avatars, - Uploads, - UserDataFiles, - CustomSounds, - EmojiCustom, -}); diff --git a/packages/rocketchat-lib/lib/Markdown.js b/packages/rocketchat-lib/lib/Markdown.js deleted file mode 100644 index 2c41733304aeb..0000000000000 --- a/packages/rocketchat-lib/lib/Markdown.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Markdown } from 'meteor/rocketchat:markdown'; - -RocketChat.Markdown = Markdown; diff --git a/packages/rocketchat-lib/lib/Message.js b/packages/rocketchat-lib/lib/Message.js deleted file mode 100644 index 01cffb19bb53f..0000000000000 --- a/packages/rocketchat-lib/lib/Message.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Message } from 'meteor/rocketchat:ui-utils'; - -RocketChat.Message = Message; diff --git a/packages/rocketchat-lib/lib/MessageProperties.js b/packages/rocketchat-lib/lib/MessageProperties.js deleted file mode 100644 index 5135b59e75d93..0000000000000 --- a/packages/rocketchat-lib/lib/MessageProperties.js +++ /dev/null @@ -1,10 +0,0 @@ -import { messageProperties } from 'meteor/rocketchat:ui-utils'; - -export { - messageProperties, -}; - -// check for tests -if (typeof RocketChat !== 'undefined') { - RocketChat.messageProperties = messageProperties; -} diff --git a/packages/rocketchat-lib/lib/MessageTypes.js b/packages/rocketchat-lib/lib/MessageTypes.js index 95fc068586147..71e001519209a 100644 --- a/packages/rocketchat-lib/lib/MessageTypes.js +++ b/packages/rocketchat-lib/lib/MessageTypes.js @@ -2,8 +2,6 @@ import { Meteor } from 'meteor/meteor'; import { MessageTypes } from 'meteor/rocketchat:ui-utils'; import { callbacks } from 'meteor/rocketchat:callbacks'; -RocketChat.MessageTypes = MessageTypes; - Meteor.startup(function() { MessageTypes.registerType({ id: 'r', diff --git a/packages/rocketchat-lib/lib/RoomTypeConfig.js b/packages/rocketchat-lib/lib/RoomTypeConfig.js deleted file mode 100644 index c7c6cd3841665..0000000000000 --- a/packages/rocketchat-lib/lib/RoomTypeConfig.js +++ /dev/null @@ -1,8 +0,0 @@ -import { RoomSettingsEnum, UiTextContext, RoomTypeRouteConfig, RoomTypeConfig } from 'meteor/rocketchat:utils'; - -export { - RoomSettingsEnum, - UiTextContext, - RoomTypeRouteConfig, - RoomTypeConfig, -}; diff --git a/packages/rocketchat-lib/lib/RoomTypesCommon.js b/packages/rocketchat-lib/lib/RoomTypesCommon.js deleted file mode 100644 index 117dcf607bbcb..0000000000000 --- a/packages/rocketchat-lib/lib/RoomTypesCommon.js +++ /dev/null @@ -1,5 +0,0 @@ -import { RoomTypesCommon } from 'meteor/rocketchat:utils'; - -export { - RoomTypesCommon, -}; diff --git a/packages/rocketchat-lib/lib/actionLinks.js b/packages/rocketchat-lib/lib/actionLinks.js deleted file mode 100644 index 33baaddc399bd..0000000000000 --- a/packages/rocketchat-lib/lib/actionLinks.js +++ /dev/null @@ -1,3 +0,0 @@ -import { actionLinks } from 'meteor/rocketchat:action-links'; - -RocketChat.actionLinks = actionLinks; diff --git a/packages/rocketchat-lib/lib/authorization.js b/packages/rocketchat-lib/lib/authorization.js deleted file mode 100644 index 6445a1b8b5f09..0000000000000 --- a/packages/rocketchat-lib/lib/authorization.js +++ /dev/null @@ -1 +0,0 @@ -RocketChat.authz = {}; diff --git a/packages/rocketchat-lib/lib/callbacks.js b/packages/rocketchat-lib/lib/callbacks.js deleted file mode 100644 index 0199a6f059216..0000000000000 --- a/packages/rocketchat-lib/lib/callbacks.js +++ /dev/null @@ -1,8 +0,0 @@ -import { callbacks } from 'meteor/rocketchat:callbacks'; - -/* -* Callback hooks provide an easy way to add extra steps to common operations. -* @namespace RocketChat.callbacks -*/ - -RocketChat.callbacks = callbacks; diff --git a/packages/rocketchat-lib/lib/core.js b/packages/rocketchat-lib/lib/core.js deleted file mode 100644 index 54be4847bbd03..0000000000000 --- a/packages/rocketchat-lib/lib/core.js +++ /dev/null @@ -1,6 +0,0 @@ -RocketChat = {}; -/* -* Kick off the global namespace for RocketChat. -* @namespace RocketChat -*/ -RocketChat.models = {}; diff --git a/packages/rocketchat-lib/lib/emoji.js b/packages/rocketchat-lib/lib/emoji.js deleted file mode 100644 index ff6a9f7c668ae..0000000000000 --- a/packages/rocketchat-lib/lib/emoji.js +++ /dev/null @@ -1,3 +0,0 @@ -import { emoji } from 'meteor/rocketchat:emoji'; - -RocketChat.emoji = emoji; diff --git a/packages/rocketchat-lib/lib/fileUploadRestrictions.js b/packages/rocketchat-lib/lib/fileUploadRestrictions.js deleted file mode 100644 index e8051c803dd14..0000000000000 --- a/packages/rocketchat-lib/lib/fileUploadRestrictions.js +++ /dev/null @@ -1,4 +0,0 @@ -import { fileUploadIsValidContentType, fileUploadMediaWhiteList } from 'meteor/rocketchat:utils'; - -RocketChat.fileUploadMediaWhiteList = fileUploadMediaWhiteList; -RocketChat.fileUploadIsValidContentType = fileUploadIsValidContentType; diff --git a/packages/rocketchat-lib/lib/getAvatarColor.js b/packages/rocketchat-lib/lib/getAvatarColor.js deleted file mode 100644 index 3e29088837b33..0000000000000 --- a/packages/rocketchat-lib/lib/getAvatarColor.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getAvatarColor } from 'meteor/rocketchat:utils'; - -RocketChat.getAvatarColor = getAvatarColor; diff --git a/packages/rocketchat-lib/lib/getDefaultSubscriptionPref.js b/packages/rocketchat-lib/lib/getDefaultSubscriptionPref.js deleted file mode 100644 index 651cbb6435e2e..0000000000000 --- a/packages/rocketchat-lib/lib/getDefaultSubscriptionPref.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getDefaultSubscriptionPref } from 'meteor/rocketchat:utils'; - -RocketChat.getDefaultSubscriptionPref = getDefaultSubscriptionPref; diff --git a/packages/rocketchat-lib/lib/getURL.js b/packages/rocketchat-lib/lib/getURL.js deleted file mode 100644 index 572286bd8884a..0000000000000 --- a/packages/rocketchat-lib/lib/getURL.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getURL } from 'meteor/rocketchat:utils'; - -RocketChat.getURL = getURL; diff --git a/packages/rocketchat-lib/lib/getUserNotificationPreference.js b/packages/rocketchat-lib/lib/getUserNotificationPreference.js deleted file mode 100644 index ef4a2297fd971..0000000000000 --- a/packages/rocketchat-lib/lib/getUserNotificationPreference.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getUserNotificationPreference } from 'meteor/rocketchat:utils'; - -RocketChat.getUserNotificationPreference = getUserNotificationPreference; diff --git a/packages/rocketchat-lib/lib/getUserPreference.js b/packages/rocketchat-lib/lib/getUserPreference.js deleted file mode 100644 index a9c0f14e6a7ae..0000000000000 --- a/packages/rocketchat-lib/lib/getUserPreference.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getUserPreference } from 'meteor/rocketchat:utils'; - -RocketChat.getUserPreference = getUserPreference; diff --git a/packages/rocketchat-lib/lib/getValidRoomName.js b/packages/rocketchat-lib/lib/getValidRoomName.js deleted file mode 100644 index a24b42a007191..0000000000000 --- a/packages/rocketchat-lib/lib/getValidRoomName.js +++ /dev/null @@ -1,3 +0,0 @@ -import { getValidRoomName } from 'meteor/rocketchat:utils'; - -RocketChat.getValidRoomName = getValidRoomName; diff --git a/packages/rocketchat-lib/lib/info.js b/packages/rocketchat-lib/lib/info.js deleted file mode 100644 index a47217dd6d90f..0000000000000 --- a/packages/rocketchat-lib/lib/info.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Info } from 'meteor/rocketchat:utils'; - -RocketChat.Info = Info; diff --git a/packages/rocketchat-lib/lib/messageBox.js b/packages/rocketchat-lib/lib/messageBox.js deleted file mode 100644 index b7c2c98ff35ac..0000000000000 --- a/packages/rocketchat-lib/lib/messageBox.js +++ /dev/null @@ -1,3 +0,0 @@ -import { messageBox } from 'meteor/rocketchat:ui-utils'; - -RocketChat.messageBox = messageBox; diff --git a/packages/rocketchat-lib/lib/placeholders.js b/packages/rocketchat-lib/lib/placeholders.js deleted file mode 100644 index ae636d79c21ec..0000000000000 --- a/packages/rocketchat-lib/lib/placeholders.js +++ /dev/null @@ -1,3 +0,0 @@ -import { placeholders } from 'meteor/rocketchat:utils'; - -RocketChat.placeholders = placeholders; diff --git a/packages/rocketchat-lib/lib/promises.js b/packages/rocketchat-lib/lib/promises.js deleted file mode 100644 index 875676508810b..0000000000000 --- a/packages/rocketchat-lib/lib/promises.js +++ /dev/null @@ -1,3 +0,0 @@ -import { promises } from 'meteor/rocketchat:promises'; - -RocketChat.promises = promises; diff --git a/packages/rocketchat-lib/lib/settings.js b/packages/rocketchat-lib/lib/settings.js deleted file mode 100644 index 7b90e489b7322..0000000000000 --- a/packages/rocketchat-lib/lib/settings.js +++ /dev/null @@ -1,3 +0,0 @@ -import { settings } from 'meteor/rocketchat:settings'; - -RocketChat.settings = settings; diff --git a/packages/rocketchat-lib/lib/slashCommand.js b/packages/rocketchat-lib/lib/slashCommand.js deleted file mode 100644 index f2f2e14dc6208..0000000000000 --- a/packages/rocketchat-lib/lib/slashCommand.js +++ /dev/null @@ -1,3 +0,0 @@ -import { slashCommands } from 'meteor/rocketchat:utils'; - -RocketChat.slashCommands = slashCommands; diff --git a/packages/rocketchat-lib/lib/templateVarHandler.js b/packages/rocketchat-lib/lib/templateVarHandler.js deleted file mode 100644 index 9359d1dd242b6..0000000000000 --- a/packages/rocketchat-lib/lib/templateVarHandler.js +++ /dev/null @@ -1,3 +0,0 @@ -import { templateVarHandler } from 'meteor/rocketchat:utils'; - -RocketChat.templateVarHandler = templateVarHandler; diff --git a/packages/rocketchat-lib/package.js b/packages/rocketchat-lib/package.js index 76fbca3a04390..bbe2c99d684b0 100644 --- a/packages/rocketchat-lib/package.js +++ b/packages/rocketchat-lib/package.js @@ -55,9 +55,9 @@ Package.onUse(function(api) { 'rocketchat:channel-settings', 'rocketchat:tokenpass', 'rocketchat:apps', + 'rocketchat:streamer', ]); api.imply('tap:i18n'); - api.addFiles('lib/core.js'); api.mainModule('server/index.js', 'server'); api.mainModule('client/index.js', 'client'); diff --git a/packages/rocketchat-lib/server/functions/Notifications.js b/packages/rocketchat-lib/server/functions/Notifications.js deleted file mode 100644 index beb33a23d2199..0000000000000 --- a/packages/rocketchat-lib/server/functions/Notifications.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Notifications } from 'meteor/rocketchat:notifications'; - -RocketChat.Notifications = Notifications; diff --git a/packages/rocketchat-lib/server/functions/addUserToDefaultChannels.js b/packages/rocketchat-lib/server/functions/addUserToDefaultChannels.js index e967b22e280af..855334bb2a220 100644 --- a/packages/rocketchat-lib/server/functions/addUserToDefaultChannels.js +++ b/packages/rocketchat-lib/server/functions/addUserToDefaultChannels.js @@ -32,6 +32,3 @@ export const addUserToDefaultChannels = function(user, silenced) { } }); }; - -RocketChat.addUserToDefaultChannels = addUserToDefaultChannels; - diff --git a/packages/rocketchat-lib/server/functions/addUserToRoom.js b/packages/rocketchat-lib/server/functions/addUserToRoom.js index d67cd6dfd555d..9efa0602d8bdd 100644 --- a/packages/rocketchat-lib/server/functions/addUserToRoom.js +++ b/packages/rocketchat-lib/server/functions/addUserToRoom.js @@ -53,5 +53,3 @@ export const addUserToRoom = function(rid, user, inviter, silenced) { return true; }; - -RocketChat.addUserToRoom = addUserToRoom; diff --git a/packages/rocketchat-lib/server/functions/archiveRoom.js b/packages/rocketchat-lib/server/functions/archiveRoom.js index 40a76a95f12d6..7134c15bda8eb 100644 --- a/packages/rocketchat-lib/server/functions/archiveRoom.js +++ b/packages/rocketchat-lib/server/functions/archiveRoom.js @@ -8,5 +8,3 @@ export const archiveRoom = function(rid) { callbacks.run('afterRoomArchived', Rooms.findOneById(rid), Meteor.user()); }; - -RocketChat.archiveRoom = archiveRoom; diff --git a/packages/rocketchat-lib/server/functions/authorization.js b/packages/rocketchat-lib/server/functions/authorization.js deleted file mode 100644 index e20a8958e9a59..0000000000000 --- a/packages/rocketchat-lib/server/functions/authorization.js +++ /dev/null @@ -1,25 +0,0 @@ -import { - addUserRoles, - roomAccessValidators, - canAccessRoom, - addRoomAccessValidator, - getRoles, - getUsersInRole, - hasAllPermission, - hasPermission, - hasAtLeastOnePermission, - hasRole, - removeUserFromRoles, -} from 'meteor/rocketchat:authorization'; - -RocketChat.authz.addUserRoles = addUserRoles; -RocketChat.authz.roomAccessValidators = roomAccessValidators; -RocketChat.authz.canAccessRoom = canAccessRoom; -RocketChat.authz.addRoomAccessValidator = addRoomAccessValidator; -RocketChat.authz.getRoles = getRoles; -RocketChat.authz.getUsersInRole = getUsersInRole; -RocketChat.authz.hasAllPermission = hasAllPermission; -RocketChat.authz.hasPermission = hasPermission; -RocketChat.authz.hasAtLeastOnePermission = hasAtLeastOnePermission; -RocketChat.authz.hasRole = hasRole; -RocketChat.authz.removeUserFromRoles = removeUserFromRoles; diff --git a/packages/rocketchat-lib/server/functions/checkEmailAvailability.js b/packages/rocketchat-lib/server/functions/checkEmailAvailability.js index 6c5263c4f7305..8382962497cf9 100644 --- a/packages/rocketchat-lib/server/functions/checkEmailAvailability.js +++ b/packages/rocketchat-lib/server/functions/checkEmailAvailability.js @@ -4,5 +4,3 @@ import s from 'underscore.string'; export const checkEmailAvailability = function(email) { return !Meteor.users.findOne({ 'emails.address': { $regex : new RegExp(`^${ s.trim(s.escapeRegExp(email)) }$`, 'i') } }); }; - -RocketChat.checkEmailAvailability = checkEmailAvailability; diff --git a/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js b/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js index 8f4509cb8be09..ca791bc7b756f 100644 --- a/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js +++ b/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js @@ -25,5 +25,3 @@ export const checkUsernameAvailability = function(username) { }, }, { fields: { _id: 1 } }); }; - -RocketChat.checkUsernameAvailability = checkUsernameAvailability; diff --git a/packages/rocketchat-lib/server/functions/cleanRoomHistory.js b/packages/rocketchat-lib/server/functions/cleanRoomHistory.js index 967e7105415a0..7cf5ef828b942 100644 --- a/packages/rocketchat-lib/server/functions/cleanRoomHistory.js +++ b/packages/rocketchat-lib/server/functions/cleanRoomHistory.js @@ -42,5 +42,3 @@ export const cleanRoomHistory = function({ rid, latest = new Date(), oldest = ne } return count; }; - -RocketChat.cleanRoomHistory = cleanRoomHistory; diff --git a/packages/rocketchat-lib/server/functions/composeMessageObjectWithUser_import.js b/packages/rocketchat-lib/server/functions/composeMessageObjectWithUser_import.js deleted file mode 100644 index 89aab2f420ec6..0000000000000 --- a/packages/rocketchat-lib/server/functions/composeMessageObjectWithUser_import.js +++ /dev/null @@ -1,3 +0,0 @@ -import { composeMessageObjectWithUser } from 'meteor/rocketchat:utils'; - -RocketChat.composeMessageObjectWithUser = composeMessageObjectWithUser; diff --git a/packages/rocketchat-lib/server/functions/createRoom.js b/packages/rocketchat-lib/server/functions/createRoom.js index 1183aa75fbb57..86a75ac1e64ce 100644 --- a/packages/rocketchat-lib/server/functions/createRoom.js +++ b/packages/rocketchat-lib/server/functions/createRoom.js @@ -119,5 +119,3 @@ export const createRoom = function(type, name, owner, members, readOnly, extraDa name: room.name, }; }; - -RocketChat.createRoom = createRoom; diff --git a/packages/rocketchat-lib/server/functions/deleteMessage.js b/packages/rocketchat-lib/server/functions/deleteMessage.js index de500f84eaa8c..433cb99791a0b 100644 --- a/packages/rocketchat-lib/server/functions/deleteMessage.js +++ b/packages/rocketchat-lib/server/functions/deleteMessage.js @@ -61,4 +61,3 @@ export const deleteMessage = function(message, user) { } }; -RocketChat.deleteMessage = deleteMessage; diff --git a/packages/rocketchat-lib/server/functions/deleteUser.js b/packages/rocketchat-lib/server/functions/deleteUser.js index 6fe92b5ac8dd0..447d84e873672 100644 --- a/packages/rocketchat-lib/server/functions/deleteUser.js +++ b/packages/rocketchat-lib/server/functions/deleteUser.js @@ -97,5 +97,3 @@ export const deleteUser = function(userId) { Users.removeById(userId); // Remove user from users database }; - -RocketChat.deleteUser = deleteUser; diff --git a/packages/rocketchat-lib/server/functions/getAvatarSuggestionForUser.js b/packages/rocketchat-lib/server/functions/getAvatarSuggestionForUser.js new file mode 100644 index 0000000000000..3f20039fbf26d --- /dev/null +++ b/packages/rocketchat-lib/server/functions/getAvatarSuggestionForUser.js @@ -0,0 +1,115 @@ +import { Meteor } from 'meteor/meteor'; +import { check } from 'meteor/check'; +import { HTTP } from 'meteor/http'; +import { Gravatar } from 'meteor/jparker:gravatar'; +import { settings } from 'meteor/rocketchat:settings'; + +export function getAvatarSuggestionForUser(user) { + check(user, Object); + + const avatars = []; + + if (user.services.facebook && user.services.facebook.id && settings.get('Accounts_OAuth_Facebook')) { + avatars.push({ + service: 'facebook', + url: `https://graph.facebook.com/${ user.services.facebook.id }/picture?type=large`, + }); + } + + if (user.services.google && user.services.google.picture && user.services.google.picture !== 'https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg' && settings.get('Accounts_OAuth_Google')) { + avatars.push({ + service: 'google', + url: user.services.google.picture, + }); + } + + if (user.services.github && user.services.github.username && settings.get('Accounts_OAuth_Github')) { + avatars.push({ + service: 'github', + url: `https://avatars.githubusercontent.com/${ user.services.github.username }?s=200`, + }); + } + + if (user.services.linkedin && user.services.linkedin.pictureUrl && settings.get('Accounts_OAuth_Linkedin')) { + avatars.push({ + service: 'linkedin', + url: user.services.linkedin.pictureUrl, + }); + } + + if (user.services.twitter && user.services.twitter.profile_image_url_https && settings.get('Accounts_OAuth_Twitter')) { + avatars.push({ + service: 'twitter', + url: user.services.twitter.profile_image_url_https.replace(/_normal|_bigger/, ''), + }); + } + + if (user.services.gitlab && user.services.gitlab.avatar_url && settings.get('Accounts_OAuth_Gitlab')) { + avatars.push({ + service: 'gitlab', + url: user.services.gitlab.avatar_url, + }); + } + + if (user.services.sandstorm && user.services.sandstorm.picture && Meteor.settings.public.sandstorm) { + avatars.push({ + service: 'sandstorm', + url: user.services.sandstorm.picture, + }); + } + + if (user.services.blockstack && user.services.blockstack.image && settings.get('Blockstack_Enable')) { + avatars.push({ + service: 'blockstack', + url: user.services.blockstack.image, + }); + } + + if (user.emails && user.emails.length > 0) { + for (const email of user.emails) { + if (email.verified === true) { + avatars.push({ + service: 'gravatar', + url: Gravatar.imageUrl(email.address, { + default: '404', + size: 200, + secure: true, + }), + }); + } + + if (email.verified !== true) { + avatars.push({ + service: 'gravatar', + url: Gravatar.imageUrl(email.address, { + default: '404', + size: 200, + secure: true, + }), + }); + } + } + } + + const validAvatars = {}; + for (const avatar of avatars) { + try { + const result = HTTP.get(avatar.url, { + npmRequestOptions: { + encoding: 'binary', + }, + }); + + if (result.statusCode === 200) { + let blob = `data:${ result.headers['content-type'] };base64,`; + blob += Buffer.from(result.content, 'binary').toString('base64'); + avatar.blob = blob; + avatar.contentType = result.headers['content-type']; + validAvatars[avatar.service] = avatar; + } + } catch (error) { + // error; + } + } + return validAvatars; +} diff --git a/packages/rocketchat-lib/server/functions/getFullUserData.js b/packages/rocketchat-lib/server/functions/getFullUserData.js index 502ba15552863..ee649bdf5cf7d 100644 --- a/packages/rocketchat-lib/server/functions/getFullUserData.js +++ b/packages/rocketchat-lib/server/functions/getFullUserData.js @@ -83,6 +83,3 @@ export const getFullUserData = function({ userId, filter, limit: l }) { const usernameReg = new RegExp(s.escapeRegExp(username), 'i'); return Users.findByUsernameNameOrEmailAddress(usernameReg, options); }; - -RocketChat.getFullUserData = getFullUserData; - diff --git a/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js b/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js index 88299f99598ba..b58c013ba5e3f 100644 --- a/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js +++ b/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js @@ -79,5 +79,3 @@ export const getRoomByNameOrIdWithOptionToJoin = function _getRoomByNameOrIdWith return room; }; - -RocketChat.getRoomByNameOrIdWithOptionToJoin = getRoomByNameOrIdWithOptionToJoin; diff --git a/packages/rocketchat-lib/server/functions/getUsernameSuggestion.js b/packages/rocketchat-lib/server/functions/getUsernameSuggestion.js index 30958d22743b4..4674d8f074d31 100644 --- a/packages/rocketchat-lib/server/functions/getUsernameSuggestion.js +++ b/packages/rocketchat-lib/server/functions/getUsernameSuggestion.js @@ -80,5 +80,3 @@ export function generateUsernameSuggestion(user) { index++; } } - -RocketChat.generateUsernameSuggestion = generateUsernameSuggestion; diff --git a/packages/rocketchat-lib/server/functions/index.js b/packages/rocketchat-lib/server/functions/index.js index 32358d53839fe..0f4314c265898 100644 --- a/packages/rocketchat-lib/server/functions/index.js +++ b/packages/rocketchat-lib/server/functions/index.js @@ -26,3 +26,4 @@ export { setUsername } from './setUsername'; export { unarchiveRoom } from './unarchiveRoom'; export { updateMessage } from './updateMessage'; export { validateCustomFields } from './validateCustomFields'; +export { getAvatarSuggestionForUser } from './getAvatarSuggestionForUser'; diff --git a/packages/rocketchat-lib/server/functions/isDocker.js b/packages/rocketchat-lib/server/functions/isDocker.js deleted file mode 100644 index eac079083cc75..0000000000000 --- a/packages/rocketchat-lib/server/functions/isDocker.js +++ /dev/null @@ -1,3 +0,0 @@ -import { isDocker } from 'meteor/rocketchat:utils'; - -RocketChat.isDocker = isDocker; diff --git a/packages/rocketchat-lib/server/functions/isTheLastMessage.js b/packages/rocketchat-lib/server/functions/isTheLastMessage.js index 57300e5e061d0..5a1e4547a03c1 100644 --- a/packages/rocketchat-lib/server/functions/isTheLastMessage.js +++ b/packages/rocketchat-lib/server/functions/isTheLastMessage.js @@ -1,5 +1,3 @@ import { settings } from 'meteor/rocketchat:settings'; export const isTheLastMessage = (room, message) => settings.get('Store_Last_Message') && (!room.lastMessage || room.lastMessage._id === message._id); - -RocketChat.isTheLastMessage = isTheLastMessage; diff --git a/packages/rocketchat-lib/server/functions/loadMessageHistory.js b/packages/rocketchat-lib/server/functions/loadMessageHistory.js index 421f39d5fbd68..b08d211f37f4f 100644 --- a/packages/rocketchat-lib/server/functions/loadMessageHistory.js +++ b/packages/rocketchat-lib/server/functions/loadMessageHistory.js @@ -69,5 +69,3 @@ export const loadMessageHistory = function loadMessageHistory({ userId, rid, end unreadNotLoaded, }; }; - -RocketChat.loadMessageHistory = loadMessageHistory; diff --git a/packages/rocketchat-lib/server/functions/removeUserFromRoom.js b/packages/rocketchat-lib/server/functions/removeUserFromRoom.js index 0f100783447c0..6c623e53aa317 100644 --- a/packages/rocketchat-lib/server/functions/removeUserFromRoom.js +++ b/packages/rocketchat-lib/server/functions/removeUserFromRoom.js @@ -27,5 +27,3 @@ export const removeUserFromRoom = function(rid, user) { }); } }; - -RocketChat.removeUserFromRoom = removeUserFromRoom; diff --git a/packages/rocketchat-lib/server/functions/saveCustomFields.js b/packages/rocketchat-lib/server/functions/saveCustomFields.js index 87eeb8f63b9e8..8b738752242c5 100644 --- a/packages/rocketchat-lib/server/functions/saveCustomFields.js +++ b/packages/rocketchat-lib/server/functions/saveCustomFields.js @@ -8,5 +8,3 @@ export const saveCustomFields = function(userId, formData) { return saveCustomFieldsWithoutValidation(userId, formData); } }; - -RocketChat.saveCustomFields = saveCustomFields; diff --git a/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js b/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js index 65a7b68a457e0..a1795916aa784 100644 --- a/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js +++ b/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js @@ -38,5 +38,3 @@ export const saveCustomFieldsWithoutValidation = function(userId, formData) { }); } }; - -RocketChat.saveCustomFieldsWithoutValidation = saveCustomFieldsWithoutValidation; diff --git a/packages/rocketchat-lib/server/functions/saveRoomName.js b/packages/rocketchat-lib/server/functions/saveRoomName.js deleted file mode 100644 index 2737abf35298a..0000000000000 --- a/packages/rocketchat-lib/server/functions/saveRoomName.js +++ /dev/null @@ -1,3 +0,0 @@ -import { saveRoomName } from 'meteor/rocketchat:channel-settings'; - -RocketChat.saveRoomName = saveRoomName; diff --git a/packages/rocketchat-lib/server/functions/saveRoomTopic.js b/packages/rocketchat-lib/server/functions/saveRoomTopic.js deleted file mode 100644 index 1717eb9e5db5c..0000000000000 --- a/packages/rocketchat-lib/server/functions/saveRoomTopic.js +++ /dev/null @@ -1,3 +0,0 @@ -import { saveRoomTopic } from 'meteor/rocketchat:channel-settings'; - -RocketChat.saveRoomTopic = saveRoomTopic; diff --git a/packages/rocketchat-lib/server/functions/saveStreamingOptions.js b/packages/rocketchat-lib/server/functions/saveStreamingOptions.js deleted file mode 100644 index cfd15ceced6b5..0000000000000 --- a/packages/rocketchat-lib/server/functions/saveStreamingOptions.js +++ /dev/null @@ -1,3 +0,0 @@ -import { saveStreamingOptions } from 'meteor/rocketchat:channel-settings'; - -RocketChat.saveStreamingOptions = saveStreamingOptions; diff --git a/packages/rocketchat-lib/server/functions/saveUser.js b/packages/rocketchat-lib/server/functions/saveUser.js index b9264ac3e0a48..d9b52d6582e91 100644 --- a/packages/rocketchat-lib/server/functions/saveUser.js +++ b/packages/rocketchat-lib/server/functions/saveUser.js @@ -269,5 +269,3 @@ export const saveUser = function(userId, userData) { return true; }; - -RocketChat.saveUser = saveUser; diff --git a/packages/rocketchat-lib/server/functions/sendMessage.js b/packages/rocketchat-lib/server/functions/sendMessage.js index cc389040ec125..35bdfb8c20180 100644 --- a/packages/rocketchat-lib/server/functions/sendMessage.js +++ b/packages/rocketchat-lib/server/functions/sendMessage.js @@ -199,5 +199,3 @@ export const sendMessage = function(user, message, room, upsert = false) { return message; } }; - -// RocketChat.sendMessage = sendMessage; diff --git a/packages/rocketchat-lib/server/functions/setEmail.js b/packages/rocketchat-lib/server/functions/setEmail.js index 55d1b97971629..357620b934c87 100644 --- a/packages/rocketchat-lib/server/functions/setEmail.js +++ b/packages/rocketchat-lib/server/functions/setEmail.js @@ -41,5 +41,3 @@ const _setEmail = function(userId, email, shouldSendVerificationEmail = true) { export const setEmail = RateLimiter.limitFunction(_setEmail, 1, 60000, { 0() { return !Meteor.userId() || !hasPermission(Meteor.userId(), 'edit-other-user-info'); }, // Administrators have permission to change others emails, so don't limit those }); - -RocketChat.setEmail = setEmail; diff --git a/packages/rocketchat-lib/server/functions/setRealName.js b/packages/rocketchat-lib/server/functions/setRealName.js index 6fc96c4e99d7d..65c086c8fcbab 100644 --- a/packages/rocketchat-lib/server/functions/setRealName.js +++ b/packages/rocketchat-lib/server/functions/setRealName.js @@ -42,6 +42,3 @@ export const _setRealName = function(userId, name) { export const setRealName = RateLimiter.limitFunction(_setRealName, 1, 60000, { 0() { return !Meteor.userId() || !hasPermission(Meteor.userId(), 'edit-other-user-info'); }, // Administrators have permission to change others names, so don't limit those }); - -RocketChat.setRealName = setRealName; -RocketChat._setRealName = _setRealName; diff --git a/packages/rocketchat-lib/server/functions/setUserAvatar.js b/packages/rocketchat-lib/server/functions/setUserAvatar.js index e32ce7f761717..3bd2a515dd2d4 100644 --- a/packages/rocketchat-lib/server/functions/setUserAvatar.js +++ b/packages/rocketchat-lib/server/functions/setUserAvatar.js @@ -63,5 +63,3 @@ export const setUserAvatar = function(user, dataURI, contentType, service) { }, 500); }); }; - -RocketChat.setUserAvatar = setUserAvatar; diff --git a/packages/rocketchat-lib/server/functions/setUsername.js b/packages/rocketchat-lib/server/functions/setUsername.js index ed059b6e34ce0..7b7003e1e4a55 100644 --- a/packages/rocketchat-lib/server/functions/setUsername.js +++ b/packages/rocketchat-lib/server/functions/setUsername.js @@ -5,7 +5,7 @@ import { settings } from 'meteor/rocketchat:settings'; import { Users, Messages, Subscriptions, Rooms, LivechatDepartmentAgents } from 'meteor/rocketchat:models'; import { hasPermission } from 'meteor/rocketchat:authorization'; import { RateLimiter } from '../lib'; -import { checkUsernameAvailability, setUserAvatar } from '.'; +import { checkUsernameAvailability, setUserAvatar, getAvatarSuggestionForUser } from '.'; const _setUsername = function(userId, u) { const username = s.trim(u); @@ -90,6 +90,3 @@ export const setUsername = RateLimiter.limitFunction(_setUsername, 1, 60000, { return !userId || !hasPermission(userId, 'edit-other-user-info'); }, }); - -RocketChat.setUsername = setUsername; -RocketChat._setUsername = _setUsername; diff --git a/packages/rocketchat-lib/server/functions/unarchiveRoom.js b/packages/rocketchat-lib/server/functions/unarchiveRoom.js index 93728e0a10182..44d37918f7303 100644 --- a/packages/rocketchat-lib/server/functions/unarchiveRoom.js +++ b/packages/rocketchat-lib/server/functions/unarchiveRoom.js @@ -4,5 +4,3 @@ export const unarchiveRoom = function(rid) { Rooms.unarchiveById(rid); Subscriptions.unarchiveByRoomId(rid); }; - -RocketChat.unarchiveRoom = unarchiveRoom; diff --git a/packages/rocketchat-lib/server/functions/updateMessage.js b/packages/rocketchat-lib/server/functions/updateMessage.js index f3a7098a7a9d3..c697e0c0189b9 100644 --- a/packages/rocketchat-lib/server/functions/updateMessage.js +++ b/packages/rocketchat-lib/server/functions/updateMessage.js @@ -60,5 +60,3 @@ export const updateMessage = function(message, user, originalMessage) { callbacks.run('afterSaveMessage', Messages.findOneById(tempid), room, user._id); }); }; - -RocketChat.updateMessage = updateMessage; diff --git a/packages/rocketchat-lib/server/functions/validateCustomFields.js b/packages/rocketchat-lib/server/functions/validateCustomFields.js index fca8829289d8c..6fe2245d53bac 100644 --- a/packages/rocketchat-lib/server/functions/validateCustomFields.js +++ b/packages/rocketchat-lib/server/functions/validateCustomFields.js @@ -41,5 +41,3 @@ export const validateCustomFields = function(fields) { } }); }; - -RocketChat.validateCustomFields = validateCustomFields; diff --git a/packages/rocketchat-lib/server/lib/Assets.js b/packages/rocketchat-lib/server/lib/Assets.js deleted file mode 100644 index 3be7174e0a35f..0000000000000 --- a/packages/rocketchat-lib/server/lib/Assets.js +++ /dev/null @@ -1,3 +0,0 @@ -import { RocketChatAssets } from 'meteor/rocketchat:assets'; - -RocketChat.Assets = RocketChatAssets; diff --git a/packages/rocketchat-lib/server/lib/ErrorHandler.js b/packages/rocketchat-lib/server/lib/ErrorHandler.js deleted file mode 100644 index 88b5d92f994e9..0000000000000 --- a/packages/rocketchat-lib/server/lib/ErrorHandler.js +++ /dev/null @@ -1,3 +0,0 @@ -import { ErrorHandler } from 'meteor/rocketchat:error-handler'; - -RocketChat.ErrorHandler = ErrorHandler; diff --git a/packages/rocketchat-lib/server/lib/PushNotification_import.js b/packages/rocketchat-lib/server/lib/PushNotification_import.js deleted file mode 100644 index 05c2ab4b2d116..0000000000000 --- a/packages/rocketchat-lib/server/lib/PushNotification_import.js +++ /dev/null @@ -1,3 +0,0 @@ -import { PushNotification } from 'meteor/rocketchat:push-notifications'; - -RocketChat.PushNotification = PushNotification; diff --git a/packages/rocketchat-lib/server/lib/RateLimiter.js b/packages/rocketchat-lib/server/lib/RateLimiter.js index 4099a430478ed..9ff5af7aad659 100644 --- a/packages/rocketchat-lib/server/lib/RateLimiter.js +++ b/packages/rocketchat-lib/server/lib/RateLimiter.js @@ -43,5 +43,3 @@ export const RateLimiterClass = new class { } }; - -RocketChat.RateLimiter = RateLimiterClass; diff --git a/packages/rocketchat-lib/server/lib/index.js b/packages/rocketchat-lib/server/lib/index.js index e35c912c24116..fd771291f723e 100644 --- a/packages/rocketchat-lib/server/lib/index.js +++ b/packages/rocketchat-lib/server/lib/index.js @@ -11,3 +11,4 @@ export { passwordPolicy } from './passwordPolicy'; export { validateEmailDomain } from './validateEmailDomain'; export { RateLimiterClass as RateLimiter } from './RateLimiter'; export { processDirectEmail } from './processDirectEmail'; +export { msgStream } from './msgStream'; diff --git a/packages/rocketchat-lib/server/lib/metrics_import.js b/packages/rocketchat-lib/server/lib/metrics_import.js deleted file mode 100644 index 79d0541c83492..0000000000000 --- a/packages/rocketchat-lib/server/lib/metrics_import.js +++ /dev/null @@ -1,6 +0,0 @@ -import client from 'prom-client'; -import { metrics } from 'meteor/rocketchat:metrics'; - -RocketChat.promclient = client; - -RocketChat.metrics = metrics; diff --git a/packages/rocketchat-lib/server/lib/migrations.js b/packages/rocketchat-lib/server/lib/migrations.js deleted file mode 100644 index 5fa1a6f6f70d2..0000000000000 --- a/packages/rocketchat-lib/server/lib/migrations.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Migrations } from 'meteor/rocketchat:migrations'; - -RocketChat.Migrations = Migrations; diff --git a/packages/rocketchat-lib/server/lib/msgStream.js b/packages/rocketchat-lib/server/lib/msgStream.js new file mode 100644 index 0000000000000..872f94994eb66 --- /dev/null +++ b/packages/rocketchat-lib/server/lib/msgStream.js @@ -0,0 +1,38 @@ +import { Meteor } from 'meteor/meteor'; +import { DDPCommon } from 'meteor/ddp-common'; + +const changedPayload = function(collection, id, fields) { + return DDPCommon.stringifyDDP({ + msg: 'changed', + collection, + id, + fields, + }); +}; + +const send = function(self, msg) { + if (!self.socket) { + return; + } + self.socket.send(msg); +}; + +class MessageStream extends Meteor.Streamer { + mymessage = (eventName, args) => { + const subscriptions = this.subscriptionsByEventName[eventName]; + if (!Array.isArray(subscriptions)) { + return; + } + subscriptions.forEach(({ subscription }) => { + const options = this.isEmitAllowed(subscription, eventName, args); + if (options) { + send(subscription._session, changedPayload(this.subscriptionName, 'id', { + eventName, + args: [args, options], + })); + } + }); + } +} + +export const msgStream = new MessageStream('room-messages'); diff --git a/packages/rocketchat-lib/server/lib/passwordPolicy.js b/packages/rocketchat-lib/server/lib/passwordPolicy.js index 5f94dc7356b81..7c21f1a0438b2 100644 --- a/packages/rocketchat-lib/server/lib/passwordPolicy.js +++ b/packages/rocketchat-lib/server/lib/passwordPolicy.js @@ -2,7 +2,6 @@ import { settings } from 'meteor/rocketchat:settings'; import PasswordPolicy from './PasswordPolicyClass'; export const passwordPolicy = new PasswordPolicy(); -RocketChat.passwordPolicy = passwordPolicy; settings.get('Accounts_Password_Policy_Enabled', (key, value) => passwordPolicy.enabled = value); settings.get('Accounts_Password_Policy_MinLength', (key, value) => passwordPolicy.minLength = value); diff --git a/packages/rocketchat-lib/server/lib/processDirectEmail.js b/packages/rocketchat-lib/server/lib/processDirectEmail.js index 5c64c67af4100..37f0058bdf1fd 100644 --- a/packages/rocketchat-lib/server/lib/processDirectEmail.js +++ b/packages/rocketchat-lib/server/lib/processDirectEmail.js @@ -121,5 +121,3 @@ export const processDirectEmail = function(email) { console.log('Invalid Email....If not. Please report it.'); } }; - -RocketChat.processDirectEmail = processDirectEmail; diff --git a/packages/rocketchat-lib/server/lib/roomTypes.js b/packages/rocketchat-lib/server/lib/roomTypes.js deleted file mode 100644 index 34dc06dc507fb..0000000000000 --- a/packages/rocketchat-lib/server/lib/roomTypes.js +++ /dev/null @@ -1,3 +0,0 @@ -import { roomTypes } from 'meteor/rocketchat:utils'; - -RocketChat.roomTypes = roomTypes; diff --git a/packages/rocketchat-lib/server/lib/sandstorm.js b/packages/rocketchat-lib/server/lib/sandstorm.js deleted file mode 100644 index c2a9a45ee5eb4..0000000000000 --- a/packages/rocketchat-lib/server/lib/sandstorm.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Sandstorm } from 'meteor/rocketchat:sandstorm'; - -RocketChat.Sandstorm = Sandstorm; diff --git a/packages/rocketchat-lib/server/lib/validateEmailDomain.js b/packages/rocketchat-lib/server/lib/validateEmailDomain.js index f335c81716e92..4f45dd7c3e989 100644 --- a/packages/rocketchat-lib/server/lib/validateEmailDomain.js +++ b/packages/rocketchat-lib/server/lib/validateEmailDomain.js @@ -45,5 +45,3 @@ export const validateEmailDomain = function(email) { } } }; - -RocketChat.validateEmailDomain = validateEmailDomain; diff --git a/packages/rocketchat-lib/server/models/index.js b/packages/rocketchat-lib/server/models/index.js deleted file mode 100644 index 09ea0d36112d4..0000000000000 --- a/packages/rocketchat-lib/server/models/index.js +++ /dev/null @@ -1,39 +0,0 @@ -import { - Avatars, - ExportOperations, - Messages, - Reports, - Rooms, - Settings, - Subscriptions, - Uploads, - UserDataFiles, - Users, - CustomSounds, - Integrations, - IntegrationHistory, - Base as _Base, - Permissions, - Roles, - EmojiCustom, -} from 'meteor/rocketchat:models'; - -Object.assign(RocketChat.models, { - _Base, - Avatars, - ExportOperations, - Messages, - Reports, - Rooms, - Settings, - Subscriptions, - Uploads, - UserDataFiles, - Users, - CustomSounds, - Integrations, - IntegrationHistory, - Permissions, - Roles, - EmojiCustom, -}); diff --git a/packages/rocketchat-lib/server/startup/statsTracker_import.js b/packages/rocketchat-lib/server/startup/statsTracker_import.js deleted file mode 100644 index 9957ee8b29cce..0000000000000 --- a/packages/rocketchat-lib/server/startup/statsTracker_import.js +++ /dev/null @@ -1,3 +0,0 @@ -import { StatsTracker } from 'meteor/rocketchat:metrics'; - -RocketChat.statsTracker = StatsTracker; diff --git a/packages/rocketchat-livechat/.app/.eslintrc b/packages/rocketchat-livechat/.app/.eslintrc index 15ba40bd39749..d7f15dd26e82e 100644 --- a/packages/rocketchat-livechat/.app/.eslintrc +++ b/packages/rocketchat-livechat/.app/.eslintrc @@ -12,6 +12,7 @@ "Department" : false, "getAvatarUrlFromUsername" : false, "getNextAgent" : false, + "handleError" : false, "LivechatCustomField" : false, "LivechatDepartment" : false, "LivechatDepartmentAgents" : false, diff --git a/packages/rocketchat-reactions/server/setReaction.js b/packages/rocketchat-reactions/server/setReaction.js index d9321b7dfd2e6..25c3104423b53 100644 --- a/packages/rocketchat-reactions/server/setReaction.js +++ b/packages/rocketchat-reactions/server/setReaction.js @@ -5,7 +5,7 @@ import { Messages, EmojiCustom, Subscriptions, Rooms } from 'meteor/rocketchat:m import { Notifications } from 'meteor/rocketchat:notifications'; import { callbacks } from 'meteor/rocketchat:callbacks'; import { emoji } from 'meteor/rocketchat:emoji'; -import { isTheLastMessage } from 'meteor/rocketchat:lib'; +import { isTheLastMessage, msgStream } from 'meteor/rocketchat:lib'; import _ from 'underscore'; const removeUserReaction = (message, reaction, username) => { diff --git a/packages/rocketchat-slackbridge/server/slackbridge_import.server.js b/packages/rocketchat-slackbridge/server/slackbridge_import.server.js index f11cecab0e9db..90c0bdda3fbcc 100644 --- a/packages/rocketchat-slackbridge/server/slackbridge_import.server.js +++ b/packages/rocketchat-slackbridge/server/slackbridge_import.server.js @@ -3,6 +3,7 @@ import { Match } from 'meteor/check'; import { Random } from 'meteor/random'; import { TAPi18n } from 'meteor/tap:i18n'; import { Rooms } from 'meteor/rocketchat:models'; +import { msgStream } from 'meteor/rocketchat:lib'; import { slashCommands } from 'meteor/rocketchat:utils'; import { SlackBridge } from './slackbridge'; diff --git a/packages/rocketchat-ui-master/.eslintrc b/packages/rocketchat-ui-master/.eslintrc new file mode 100644 index 0000000000000..275f73194ad6a --- /dev/null +++ b/packages/rocketchat-ui-master/.eslintrc @@ -0,0 +1,5 @@ +{ + "globals": { + "DynamicCss": false + } +} \ No newline at end of file diff --git a/packages/rocketchat-videobridge/.eslintrc b/packages/rocketchat-videobridge/.eslintrc new file mode 100644 index 0000000000000..826a8e171654b --- /dev/null +++ b/packages/rocketchat-videobridge/.eslintrc @@ -0,0 +1,5 @@ +{ + "globals": { + "JitsiMeetExternalAPI": false + } +} \ No newline at end of file diff --git a/server/methods/getAvatarSuggestion.js b/server/methods/getAvatarSuggestion.js index af70c18578614..89a1f0b1c4396 100644 --- a/server/methods/getAvatarSuggestion.js +++ b/server/methods/getAvatarSuggestion.js @@ -1,120 +1,5 @@ import { Meteor } from 'meteor/meteor'; -import { check } from 'meteor/check'; -import { HTTP } from 'meteor/http'; -import { Gravatar } from 'meteor/jparker:gravatar'; -import { settings } from 'meteor/rocketchat:settings'; - -function getAvatarSuggestionForUser(user) { - check(user, Object); - - const avatars = []; - - if (user.services.facebook && user.services.facebook.id && settings.get('Accounts_OAuth_Facebook')) { - avatars.push({ - service: 'facebook', - url: `https://graph.facebook.com/${ user.services.facebook.id }/picture?type=large`, - }); - } - - if (user.services.google && user.services.google.picture && user.services.google.picture !== 'https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg' && settings.get('Accounts_OAuth_Google')) { - avatars.push({ - service: 'google', - url: user.services.google.picture, - }); - } - - if (user.services.github && user.services.github.username && settings.get('Accounts_OAuth_Github')) { - avatars.push({ - service: 'github', - url: `https://avatars.githubusercontent.com/${ user.services.github.username }?s=200`, - }); - } - - if (user.services.linkedin && user.services.linkedin.pictureUrl && settings.get('Accounts_OAuth_Linkedin')) { - avatars.push({ - service: 'linkedin', - url: user.services.linkedin.pictureUrl, - }); - } - - if (user.services.twitter && user.services.twitter.profile_image_url_https && settings.get('Accounts_OAuth_Twitter')) { - avatars.push({ - service: 'twitter', - url: user.services.twitter.profile_image_url_https.replace(/_normal|_bigger/, ''), - }); - } - - if (user.services.gitlab && user.services.gitlab.avatar_url && settings.get('Accounts_OAuth_Gitlab')) { - avatars.push({ - service: 'gitlab', - url: user.services.gitlab.avatar_url, - }); - } - - if (user.services.sandstorm && user.services.sandstorm.picture && Meteor.settings.public.sandstorm) { - avatars.push({ - service: 'sandstorm', - url: user.services.sandstorm.picture, - }); - } - - if (user.services.blockstack && user.services.blockstack.image && settings.get('Blockstack_Enable')) { - avatars.push({ - service: 'blockstack', - url: user.services.blockstack.image, - }); - } - - if (user.emails && user.emails.length > 0) { - for (const email of user.emails) { - if (email.verified === true) { - avatars.push({ - service: 'gravatar', - url: Gravatar.imageUrl(email.address, { - default: '404', - size: 200, - secure: true, - }), - }); - } - - if (email.verified !== true) { - avatars.push({ - service: 'gravatar', - url: Gravatar.imageUrl(email.address, { - default: '404', - size: 200, - secure: true, - }), - }); - } - } - } - - const validAvatars = {}; - for (const avatar of avatars) { - try { - const result = HTTP.get(avatar.url, { - npmRequestOptions: { - encoding: 'binary', - }, - }); - - if (result.statusCode === 200) { - let blob = `data:${ result.headers['content-type'] };base64,`; - blob += Buffer.from(result.content, 'binary').toString('base64'); - avatar.blob = blob; - avatar.contentType = result.headers['content-type']; - validAvatars[avatar.service] = avatar; - } - } catch (error) { - // error; - } - } - return validAvatars; -} - -this.getAvatarSuggestionForUser = getAvatarSuggestionForUser; +import { getAvatarSuggestionForUser } from 'meteor/rocketchat:lib'; Meteor.methods({ getAvatarSuggestion() { diff --git a/server/startup/migrations/v002.js b/server/startup/migrations/v002.js index 3711256b7d4f2..8555f3d8a4fa4 100644 --- a/server/startup/migrations/v002.js +++ b/server/startup/migrations/v002.js @@ -2,6 +2,7 @@ import { RocketChatFile } from 'meteor/rocketchat:file'; import { FileUpload } from 'meteor/rocketchat:file-upload'; import { Migrations } from 'meteor/rocketchat:migrations'; import { Users } from 'meteor/rocketchat:models'; +import { getAvatarSuggestionForUser } from 'meteor/rocketchat:lib'; Migrations.add({ version: 2, diff --git a/server/stream/messages.js b/server/stream/messages.js index 2378dc27d0f48..0c175f19d066b 100644 --- a/server/stream/messages.js +++ b/server/stream/messages.js @@ -1,46 +1,10 @@ import { Meteor } from 'meteor/meteor'; -import { DDPCommon } from 'meteor/ddp-common'; import { hasPermission } from 'meteor/rocketchat:authorization'; import { settings } from 'meteor/rocketchat:settings'; import { Subscriptions, Users, Messages } from 'meteor/rocketchat:models'; -const MY_MESSAGE = '__my_messages__'; - -const changedPayload = function(collection, id, fields) { - return DDPCommon.stringifyDDP({ - msg: 'changed', - collection, - id, - fields, - }); -}; +import { msgStream } from 'meteor/rocketchat:lib'; -const send = function(self, msg) { - if (!self.socket) { - return; - } - self.socket.send(msg); -}; - -class MessageStream extends Meteor.Streamer { - mymessage = (eventName, args) => { - const subscriptions = this.subscriptionsByEventName[eventName]; - if (!Array.isArray(subscriptions)) { - return; - } - subscriptions.forEach(({ subscription }) => { - const options = this.isEmitAllowed(subscription, eventName, args); - if (options) { - send(subscription._session, changedPayload(this.subscriptionName, 'id', { - eventName, - args: [args, options], - })); - } - }); - } -} - -const msgStream = new MessageStream('room-messages'); -this.msgStream = msgStream; +const MY_MESSAGE = '__my_messages__'; msgStream.allowWrite('none'); @@ -102,7 +66,7 @@ Meteor.startup(function() { mention.name = user && user.name; }); } - this.msgStream.mymessage(MY_MESSAGE, record); + msgStream.mymessage(MY_MESSAGE, record); msgStream.emitWithoutBroadcast(record.rid, record); } }