From 3b527e66692371594f8941093247b89d347a0a6c Mon Sep 17 00:00:00 2001 From: Marcos Defendi Date: Mon, 5 Nov 2018 11:25:10 -0200 Subject: [PATCH 1/2] Exposing ChatSubscription from rocketchat-ui --- packages/rocketchat-ui/client/lib/collections.js | 4 ++-- packages/rocketchat-ui/package.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/rocketchat-ui/client/lib/collections.js b/packages/rocketchat-ui/client/lib/collections.js index bb09af5b42b9..5868853d401a 100644 --- a/packages/rocketchat-ui/client/lib/collections.js +++ b/packages/rocketchat-ui/client/lib/collections.js @@ -8,7 +8,7 @@ this.CachedChatRoom = new RocketChat.CachedCollection({ name: 'rooms' }); ChatRoom = this.CachedChatRoom.collection; this.CachedChatSubscription = new RocketChat.CachedCollection({ name: 'subscriptions' }); -this.ChatSubscription = this.CachedChatSubscription.collection; +ChatSubscription = this.CachedChatSubscription.collection; //eslint-disable-line this.UserRoles = new Mongo.Collection(null); this.RoomRoles = new Mongo.Collection(null); this.UserAndRoom = new Mongo.Collection(null); @@ -16,7 +16,7 @@ this.CachedChannelList = new Mongo.Collection(null); this.CachedUserList = new Mongo.Collection(null); RocketChat.models.Users = _.extend({}, RocketChat.models.Users, Meteor.users); -RocketChat.models.Subscriptions = _.extend({}, RocketChat.models.Subscriptions, this.ChatSubscription); +RocketChat.models.Subscriptions = _.extend({}, RocketChat.models.Subscriptions, ChatSubscription); //eslint-disable-line RocketChat.models.Rooms = _.extend({}, RocketChat.models.Rooms, ChatRoom); RocketChat.models.Messages = _.extend({}, RocketChat.models.Messages, this.ChatMessage); diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index 6a9864653e3f..c01af573a303 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -150,4 +150,5 @@ Package.onUse(function(api) { api.export('modal', 'client'); api.export('fireGlobalEvent', 'client'); api.export('ChatRoom', 'client'); + api.export('ChatSubscription', 'client'); }); From c63ec89e5e8a4d1fef2048e96f3dae4aabdc8458 Mon Sep 17 00:00:00 2001 From: Marcos Defendi Date: Mon, 5 Nov 2018 11:26:24 -0200 Subject: [PATCH 2/2] Convert rocketchat-autotranslate to main module structure --- .../rocketchat-autotranslate/client/index.js | 6 +++++ .../client/lib/actionButton.js | 1 + .../client/lib/autotranslate.js | 1 + .../client/lib/tabBar.js | 1 + .../client/views/autoTranslateFlexTab.js | 3 ++- packages/rocketchat-autotranslate/package.js | 25 +++---------------- .../server/autotranslate.js | 1 + .../rocketchat-autotranslate/server/index.js | 8 ++++++ .../server/methods/getSupportedLanguages.js | 1 + .../server/methods/saveSettings.js | 1 + .../server/methods/translateMessage.js | 1 + .../server/models/Messages.js | 2 ++ .../server/models/Subscriptions.js | 1 + .../server/permissions.js | 1 + .../server/settings.js | 1 + 15 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 packages/rocketchat-autotranslate/client/index.js create mode 100644 packages/rocketchat-autotranslate/server/index.js diff --git a/packages/rocketchat-autotranslate/client/index.js b/packages/rocketchat-autotranslate/client/index.js new file mode 100644 index 000000000000..7c18917f528f --- /dev/null +++ b/packages/rocketchat-autotranslate/client/index.js @@ -0,0 +1,6 @@ +import './stylesheets/autotranslate.css'; +import './lib/actionButton'; +import './lib/autotranslate'; +import './lib/tabBar'; +import './views/autoTranslateFlexTab.html'; +import './views/autoTranslateFlexTab'; diff --git a/packages/rocketchat-autotranslate/client/lib/actionButton.js b/packages/rocketchat-autotranslate/client/lib/actionButton.js index 71ba4764e642..48b6b1ea5069 100644 --- a/packages/rocketchat-autotranslate/client/lib/actionButton.js +++ b/packages/rocketchat-autotranslate/client/lib/actionButton.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { Tracker.autorun(function() { diff --git a/packages/rocketchat-autotranslate/client/lib/autotranslate.js b/packages/rocketchat-autotranslate/client/lib/autotranslate.js index d7d8672c03a6..0e606971120c 100644 --- a/packages/rocketchat-autotranslate/client/lib/autotranslate.js +++ b/packages/rocketchat-autotranslate/client/lib/autotranslate.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; +import { RocketChat } from 'meteor/rocketchat:lib'; import _ from 'underscore'; RocketChat.AutoTranslate = { diff --git a/packages/rocketchat-autotranslate/client/lib/tabBar.js b/packages/rocketchat-autotranslate/client/lib/tabBar.js index 438f029b0a6f..170c37c04bb4 100644 --- a/packages/rocketchat-autotranslate/client/lib/tabBar.js +++ b/packages/rocketchat-autotranslate/client/lib/tabBar.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { Tracker.autorun(function() { diff --git a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js index 1c08c4e4b0ca..f30e2253c263 100644 --- a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js +++ b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js @@ -1,8 +1,9 @@ -/* globals ChatSubscription */ import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; import { Random } from 'meteor/random'; import { Template } from 'meteor/templating'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { ChatSubscription, t } from 'meteor/rocketchat:ui'; import _ from 'underscore'; import toastr from 'toastr'; diff --git a/packages/rocketchat-autotranslate/package.js b/packages/rocketchat-autotranslate/package.js index 718542e16d6f..88b075776e5c 100644 --- a/packages/rocketchat-autotranslate/package.js +++ b/packages/rocketchat-autotranslate/package.js @@ -10,27 +10,8 @@ Package.onUse(function(api) { 'ecmascript', 'ddp-rate-limiter', 'rocketchat:lib', + 'templating', ]); - - api.use('templating', 'client'); - - api.addFiles([ - 'client/stylesheets/autotranslate.css', - 'client/lib/autotranslate.js', - 'client/lib/actionButton.js', - 'client/lib/tabBar.js', - 'client/views/autoTranslateFlexTab.html', - 'client/views/autoTranslateFlexTab.js', - ], 'client'); - - api.addFiles([ - 'server/settings.js', - 'server/autotranslate.js', - 'server/permissions.js', - 'server/models/Messages.js', - 'server/models/Subscriptions.js', - 'server/methods/saveSettings.js', - 'server/methods/translateMessage.js', - 'server/methods/getSupportedLanguages.js', - ], 'server'); + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); }); diff --git a/packages/rocketchat-autotranslate/server/autotranslate.js b/packages/rocketchat-autotranslate/server/autotranslate.js index eeabb34eaae9..d42da9982d6b 100644 --- a/packages/rocketchat-autotranslate/server/autotranslate.js +++ b/packages/rocketchat-autotranslate/server/autotranslate.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { HTTP } from 'meteor/http'; +import { RocketChat } from 'meteor/rocketchat:lib'; import _ from 'underscore'; import s from 'underscore.string'; diff --git a/packages/rocketchat-autotranslate/server/index.js b/packages/rocketchat-autotranslate/server/index.js new file mode 100644 index 000000000000..23f718330015 --- /dev/null +++ b/packages/rocketchat-autotranslate/server/index.js @@ -0,0 +1,8 @@ +import './models/Messages'; +import './models/Subscriptions'; +import './settings'; +import './permissions'; +import './autotranslate'; +import './methods/getSupportedLanguages'; +import './methods/saveSettings'; +import './methods/translateMessage'; diff --git a/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js b/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js index fcdce980cb05..b2b79b9c7522 100644 --- a/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js +++ b/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.methods({ 'autoTranslate.getSupportedLanguages'(targetLanguage) { diff --git a/packages/rocketchat-autotranslate/server/methods/saveSettings.js b/packages/rocketchat-autotranslate/server/methods/saveSettings.js index d070189801e1..0298c39a784e 100644 --- a/packages/rocketchat-autotranslate/server/methods/saveSettings.js +++ b/packages/rocketchat-autotranslate/server/methods/saveSettings.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.methods({ 'autoTranslate.saveSettings'(rid, field, value, options) { diff --git a/packages/rocketchat-autotranslate/server/methods/translateMessage.js b/packages/rocketchat-autotranslate/server/methods/translateMessage.js index cb84cf754c97..77f1dce763be 100644 --- a/packages/rocketchat-autotranslate/server/methods/translateMessage.js +++ b/packages/rocketchat-autotranslate/server/methods/translateMessage.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.methods({ 'autoTranslate.translateMessage'(message, targetLanguage) { diff --git a/packages/rocketchat-autotranslate/server/models/Messages.js b/packages/rocketchat-autotranslate/server/models/Messages.js index 5297e722ca5d..d2c945676502 100644 --- a/packages/rocketchat-autotranslate/server/models/Messages.js +++ b/packages/rocketchat-autotranslate/server/models/Messages.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.models.Messages.addTranslations = function(messageId, translations) { const updateObj = {}; Object.keys(translations).forEach((key) => { diff --git a/packages/rocketchat-autotranslate/server/models/Subscriptions.js b/packages/rocketchat-autotranslate/server/models/Subscriptions.js index 18e1e0025eeb..28bd43da9ebc 100644 --- a/packages/rocketchat-autotranslate/server/models/Subscriptions.js +++ b/packages/rocketchat-autotranslate/server/models/Subscriptions.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.models.Subscriptions.updateAutoTranslateById = function(_id, autoTranslate) { const query = { diff --git a/packages/rocketchat-autotranslate/server/permissions.js b/packages/rocketchat-autotranslate/server/permissions.js index 24621ca42326..35536af4427a 100644 --- a/packages/rocketchat-autotranslate/server/permissions.js +++ b/packages/rocketchat-autotranslate/server/permissions.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(() => { if (RocketChat.models && RocketChat.models.Permissions) { diff --git a/packages/rocketchat-autotranslate/server/settings.js b/packages/rocketchat-autotranslate/server/settings.js index 9df71181d992..813f6f08f992 100644 --- a/packages/rocketchat-autotranslate/server/settings.js +++ b/packages/rocketchat-autotranslate/server/settings.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { RocketChat.settings.add('AutoTranslate_Enabled', false, { type: 'boolean', group: 'Message', section: 'AutoTranslate', public: true });