Convert rocketchat-integrations to main module structure (#12670)

* Convert rocketchat-integrations to main module structure

* import processWebhookMessage where it was missing
pull/12675/head^2
Marcos Spessatto Defendi 7 years ago committed by Rodrigo Nascimento
parent b07fdeb6a9
commit 5df6349b4e
  1. 3
      packages/rocketchat-graphql/server/resolvers/messages/sendMessage.js
  2. 4
      packages/rocketchat-integrations/client/collections.js
  3. 16
      packages/rocketchat-integrations/client/index.js
  4. 1
      packages/rocketchat-integrations/client/route.js
  5. 2
      packages/rocketchat-integrations/client/startup.js
  6. 3
      packages/rocketchat-integrations/client/views/integrations.js
  7. 4
      packages/rocketchat-integrations/client/views/integrationsIncoming.js
  8. 1
      packages/rocketchat-integrations/client/views/integrationsNew.js
  9. 4
      packages/rocketchat-integrations/client/views/integrationsOutgoing.js
  10. 3
      packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.js
  11. 2
      packages/rocketchat-integrations/lib/rocketchat.js
  12. 78
      packages/rocketchat-integrations/package.js
  13. 8
      packages/rocketchat-integrations/server/api/api.js
  14. 23
      packages/rocketchat-integrations/server/index.js
  15. 4
      packages/rocketchat-integrations/server/lib/triggerHandler.js
  16. 3
      packages/rocketchat-integrations/server/lib/validation.js
  17. 5
      packages/rocketchat-integrations/server/logger.js
  18. 1
      packages/rocketchat-integrations/server/methods/clearIntegrationHistory.js
  19. 3
      packages/rocketchat-integrations/server/methods/incoming/addIncomingIntegration.js
  20. 1
      packages/rocketchat-integrations/server/methods/incoming/deleteIncomingIntegration.js
  21. 3
      packages/rocketchat-integrations/server/methods/incoming/updateIncomingIntegration.js
  22. 1
      packages/rocketchat-integrations/server/methods/outgoing/addOutgoingIntegration.js
  23. 1
      packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.js
  24. 1
      packages/rocketchat-integrations/server/methods/outgoing/replayOutgoingIntegration.js
  25. 1
      packages/rocketchat-integrations/server/methods/outgoing/updateOutgoingIntegration.js
  26. 1
      packages/rocketchat-integrations/server/models/IntegrationHistory.js
  27. 1
      packages/rocketchat-integrations/server/models/Integrations.js
  28. 3
      packages/rocketchat-integrations/server/processWebhookMessage.js
  29. 1
      packages/rocketchat-integrations/server/publications/integrationHistory.js
  30. 1
      packages/rocketchat-integrations/server/publications/integrations.js
  31. 2
      packages/rocketchat-integrations/server/triggers.js

@ -1,5 +1,4 @@
/* global processWebhookMessage */
import { processWebhookMessage } from 'meteor/rocketchat:integrations';
import { authenticated } from '../../helpers/authenticated';
import schema from '../../schemas/messages/sendMessage.graphqls';

@ -1,4 +1,4 @@
import { Mongo } from 'meteor/mongo';
this.ChatIntegrations = new Mongo.Collection('rocketchat_integrations');
this.ChatIntegrationHistory = new Mongo.Collection('rocketchat_integration_history');
export const ChatIntegrations = new Mongo.Collection('rocketchat_integrations');
export const ChatIntegrationHistory = new Mongo.Collection('rocketchat_integration_history');

@ -0,0 +1,16 @@
import './stylesheets/integrations.css';
import '../lib/rocketchat';
import './collections';
import './startup';
import './route';
import './views/integrations.html';
import './views/integrations';
import './views/integrationsNew.html';
import './views/integrationsNew';
import './views/integrationsIncoming.html';
import './views/integrationsIncoming';
import './views/integrationsOutgoing.html';
import './views/integrationsOutgoing';
import './views/integrationsOutgoingHistory.html';
import './views/integrationsOutgoingHistory';
import './views/additional/zapier.html';

@ -1,6 +1,7 @@
import { Meteor } from 'meteor/meteor';
import { FlowRouter } from 'meteor/kadira:flow-router';
import { BlazeLayout } from 'meteor/kadira:blaze-layout';
import { t } from 'meteor/rocketchat:ui';
FlowRouter.route('/admin/integrations', {
name: 'admin-integrations',

@ -1,3 +1,5 @@
import { RocketChat } from 'meteor/rocketchat:lib';
RocketChat.AdminBox.addOption({
href: 'admin-integrations',
i18nLabel: 'Integrations',

@ -1,6 +1,7 @@
/* global ChatIntegrations */
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/tap:i18n';
import { RocketChat } from 'meteor/rocketchat:lib';
import { ChatIntegrations } from '../collections';
import moment from 'moment';
Template.integrations.helpers({

@ -1,10 +1,12 @@
/* global ChatIntegrations */
import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';
import { Random } from 'meteor/random';
import { FlowRouter } from 'meteor/kadira:flow-router';
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/tap:i18n';
import { RocketChat, handleError } from 'meteor/rocketchat:lib';
import { t, modal } from 'meteor/rocketchat:ui';
import { ChatIntegrations } from '../collections';
import hljs from 'highlight.js';
import toastr from 'toastr';

@ -1,4 +1,5 @@
import { Template } from 'meteor/templating';
import { RocketChat } from 'meteor/rocketchat:lib';
Template.integrationsNew.helpers({
hasPermission() {

@ -1,10 +1,12 @@
/* global ChatIntegrations */
import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';
import { Random } from 'meteor/random';
import { FlowRouter } from 'meteor/kadira:flow-router';
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/tap:i18n';
import { RocketChat, handleError } from 'meteor/rocketchat:lib';
import { t, modal } from 'meteor/rocketchat:ui';
import { ChatIntegrations } from '../collections';
import hljs from 'highlight.js';
import toastr from 'toastr';

@ -1,9 +1,10 @@
/* global ChatIntegrations, ChatIntegrationHistory */
import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';
import { FlowRouter } from 'meteor/kadira:flow-router';
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/tap:i18n';
import { RocketChat, handleError } from 'meteor/rocketchat:lib';
import { ChatIntegrations, ChatIntegrationHistory } from '../collections';
import _ from 'underscore';
import hljs from 'highlight.js';
import moment from 'moment';

@ -1,3 +1,5 @@
import { RocketChat } from 'meteor/rocketchat:lib';
RocketChat.integrations = {
outgoingEvents: {
sendMessage: {

@ -7,67 +7,19 @@ Package.describe({
});
Package.onUse(function(api) {
api.use('mongo');
api.use('ecmascript');
api.use('babel-compiler');
api.use('rocketchat:lib');
api.use('rocketchat:authorization');
api.use('rocketchat:theme');
api.use('rocketchat:logger');
api.use('kadira:flow-router', 'client');
api.use('kadira:blaze-layout', 'client');
api.use('templating', 'client');
api.addFiles('lib/rocketchat.js', ['server', 'client']);
// items
api.addFiles('client/collections.js', 'client');
api.addFiles('client/startup.js', 'client');
api.addFiles('client/route.js', 'client');
// views
api.addFiles('client/views/integrations.html', 'client');
api.addFiles('client/views/integrations.js', 'client');
api.addFiles('client/views/integrationsNew.html', 'client');
api.addFiles('client/views/integrationsNew.js', 'client');
api.addFiles('client/views/integrationsIncoming.html', 'client');
api.addFiles('client/views/integrationsIncoming.js', 'client');
api.addFiles('client/views/integrationsOutgoing.html', 'client');
api.addFiles('client/views/integrationsOutgoing.js', 'client');
api.addFiles('client/views/integrationsOutgoingHistory.html', 'client');
api.addFiles('client/views/integrationsOutgoingHistory.js', 'client');
api.addFiles('client/views/additional/zapier.html', 'client');
// stylesheets
api.addFiles('client/stylesheets/integrations.css', 'client');
api.addFiles('server/logger.js', 'server');
api.addFiles('server/lib/validation.js', 'server');
api.addFiles('server/models/Integrations.js', 'server');
api.addFiles('server/models/IntegrationHistory.js', 'server');
// publications
api.addFiles('server/publications/integrations.js', 'server');
api.addFiles('server/publications/integrationHistory.js', 'server');
// methods
api.addFiles('server/methods/incoming/addIncomingIntegration.js', 'server');
api.addFiles('server/methods/incoming/updateIncomingIntegration.js', 'server');
api.addFiles('server/methods/incoming/deleteIncomingIntegration.js', 'server');
api.addFiles('server/methods/outgoing/addOutgoingIntegration.js', 'server');
api.addFiles('server/methods/outgoing/updateOutgoingIntegration.js', 'server');
api.addFiles('server/methods/outgoing/replayOutgoingIntegration.js', 'server');
api.addFiles('server/methods/outgoing/deleteOutgoingIntegration.js', 'server');
api.addFiles('server/methods/clearIntegrationHistory.js', 'server');
// api
api.addFiles('server/api/api.js', 'server');
api.addFiles('server/lib/triggerHandler.js', 'server');
api.addFiles('server/triggers.js', 'server');
api.addFiles('server/processWebhookMessage.js', 'server');
api.export('processWebhookMessage', 'server');
api.use([
'ecmascript',
'mongo',
'babel-compiler',
'rocketchat:lib',
'rocketchat:authorization',
'rocketchat:theme',
'rocketchat:logger',
'kadira:flow-router',
'kadira:blaze-layout',
'nimble:restivus',
'templating',
]);
api.mainModule('client/index.js', 'client');
api.mainModule('server/index.js', 'server');
});

@ -1,8 +1,10 @@
/* globals Meteor Restivus logger processWebhookMessage*/
// TODO: remove globals
import { Meteor } from 'meteor/meteor';
import { HTTP } from 'meteor/http';
import { Random } from 'meteor/random';
import { RocketChat } from 'meteor/rocketchat:lib';
import { Restivus } from 'meteor/nimble:restivus';
import { logger } from '../logger';
import { processWebhookMessage } from '../processWebhookMessage';
import Fiber from 'fibers';
import Future from 'fibers/future';
import _ from 'underscore';

@ -0,0 +1,23 @@
import '../lib/rocketchat';
import './logger';
import './lib/validation';
import './models/Integrations';
import './models/IntegrationHistory';
import './publications/integrations';
import './publications/integrationHistory';
import './methods/incoming/addIncomingIntegration';
import './methods/incoming/updateIncomingIntegration';
import './methods/incoming/deleteIncomingIntegration';
import './methods/outgoing/addOutgoingIntegration';
import './methods/outgoing/updateOutgoingIntegration';
import './methods/outgoing/replayOutgoingIntegration';
import './methods/outgoing/deleteOutgoingIntegration';
import './methods/clearIntegrationHistory';
import './api/api';
import './lib/triggerHandler';
import './triggers';
import { processWebhookMessage } from './processWebhookMessage';
export {
processWebhookMessage,
};

@ -1,7 +1,9 @@
/* global logger, processWebhookMessage */
import { Meteor } from 'meteor/meteor';
import { Random } from 'meteor/random';
import { HTTP } from 'meteor/http';
import { RocketChat } from 'meteor/rocketchat:lib';
import { logger } from '../logger';
import { processWebhookMessage } from '../processWebhookMessage';
import _ from 'underscore';
import s from 'underscore.string';
import moment from 'moment';

@ -1,6 +1,7 @@
/* global Babel */
import { Meteor } from 'meteor/meteor';
import { Match } from 'meteor/check';
import { Babel } from 'meteor/babel-compiler';
import { RocketChat } from 'meteor/rocketchat:lib';
import _ from 'underscore';
import s from 'underscore.string';
const scopedChannels = ['all_public_channels', 'all_private_groups', 'all_direct_messages'];

@ -1,7 +1,6 @@
/* globals logger:true */
/* exported logger */
import { Logger } from 'meteor/rocketchat:logger';
logger = new Logger('Integrations', {
export const logger = new Logger('Integrations', {
sections: {
incoming: 'Incoming WebHook',
outgoing: 'Outgoing WebHook',

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
clearIntegrationHistory(integrationId) {

@ -1,6 +1,7 @@
/* global Babel */
import { Meteor } from 'meteor/meteor';
import { Random } from 'meteor/random';
import { Babel } from 'meteor/babel-compiler';
import { RocketChat } from 'meteor/rocketchat:lib';
import _ from 'underscore';
import s from 'underscore.string';
const validChannelChars = ['@', '#'];

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
deleteIncomingIntegration(integrationId) {

@ -1,5 +1,6 @@
/* global Babel */
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
import { Babel } from 'meteor/babel-compiler';
import _ from 'underscore';
import s from 'underscore.string';
const validChannelChars = ['@', '#'];

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
addOutgoingIntegration(integration) {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
deleteOutgoingIntegration(integrationId) {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
replayOutgoingIntegration({ integrationId, historyId }) {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
updateOutgoingIntegration(integrationId, integration) {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
RocketChat.models.IntegrationHistory = new class IntegrationHistory extends RocketChat.models._Base {
constructor() {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
RocketChat.models.Integrations = new class Integrations extends RocketChat.models._Base {
constructor() {

@ -1,8 +1,9 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
import _ from 'underscore';
import s from 'underscore.string';
processWebhookMessage = function(messageObj, user, defaultValues = { channel: '', alias: '', avatar: '', emoji: '' }, mustBeJoined = false) { //eslint-disable-line
export const processWebhookMessage = function(messageObj, user, defaultValues = { channel: '', alias: '', avatar: '', emoji: '' }, mustBeJoined = false) {
const sentData = [];
const channels = [].concat(messageObj.channel || messageObj.roomId || defaultValues.channel);

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.publish('integrationHistory', function _integrationHistoryPublication(integrationId, limit = 25) {
if (!this.userId) {

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.publish('integrations', function _integrationPublication() {
if (!this.userId) {

@ -1,3 +1,5 @@
import { RocketChat } from 'meteor/rocketchat:lib';
const callbackHandler = function _callbackHandler(eventType) {
return function _wrapperFunction(...args) {
return RocketChat.integrations.triggerHandler.executeTriggers(eventType, ...args);

Loading…
Cancel
Save