Convert rocketchat-mail-messages to main module structure (#12682)

* Convert rocketchat-mail-messages to main module structure

* Add missed semicolon
pull/12633/head^2
Marcos Spessatto Defendi 7 years ago committed by Rodrigo Nascimento
parent 8e9d619abf
commit fcd881be01
  1. 6
      packages/rocketchat-mail-messages/client/index.js
  2. 2
      packages/rocketchat-mail-messages/client/startup.js
  3. 1
      packages/rocketchat-mail-messages/client/views/mailer.js
  4. 1
      packages/rocketchat-mail-messages/lib/Mailer.js
  5. 27
      packages/rocketchat-mail-messages/package.js
  6. 4
      packages/rocketchat-mail-messages/server/functions/sendMail.js
  7. 5
      packages/rocketchat-mail-messages/server/functions/unsubscribe.js
  8. 9
      packages/rocketchat-mail-messages/server/index.js
  9. 7
      packages/rocketchat-mail-messages/server/lib/Mailer.js
  10. 3
      packages/rocketchat-mail-messages/server/methods/sendMail.js
  11. 2
      packages/rocketchat-mail-messages/server/methods/unsubscribe.js
  12. 2
      packages/rocketchat-mail-messages/server/models/Users.js
  13. 1
      packages/rocketchat-mail-messages/server/startup.js

@ -0,0 +1,6 @@
import './startup';
import './router';
import './views/mailer.html';
import './views/mailer';
import './views/mailerUnsubscribe.html';
import './views/mailerUnsubscribe';

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

@ -1,6 +1,7 @@
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/tap:i18n';
import { RocketChat, handleError } from 'meteor/rocketchat:lib';
import toastr from 'toastr';
Template.mailer.helpers({

@ -1 +0,0 @@
Mailer = {};//eslint-disable-line

@ -12,29 +12,8 @@ Package.onUse(function(api) {
'kadira:blaze-layout',
'rocketchat:lib',
'rocketchat:authorization',
'templating',
]);
api.use('templating', 'client');
api.addFiles('lib/Mailer.js');
api.addFiles([
'client/startup.js',
'client/router.js',
'client/views/mailer.html',
'client/views/mailer.js',
'client/views/mailerUnsubscribe.html',
'client/views/mailerUnsubscribe.js',
], 'client');
api.addFiles([
'server/startup.js',
'server/models/Users.js',
'server/functions/sendMail.js',
'server/functions/unsubscribe.js',
'server/methods/sendMail.js',
'server/methods/unsubscribe.js',
], 'server');
api.export('Mailer');
api.mainModule('client/index.js', 'client');
api.mainModule('server/index.js', 'server');
});

@ -1,11 +1,11 @@
/* globals */
import { Meteor } from 'meteor/meteor';
import { EJSON } from 'meteor/ejson';
import { FlowRouter } from 'meteor/kadira:flow-router';
import { RocketChat } from 'meteor/rocketchat:lib';
import s from 'underscore.string';
import * as Mailer from 'meteor/rocketchat:mailer';
Mailer.sendMail = function(from, subject, body, dryrun, query) {
export const sendMail = function(from, subject, body, dryrun, query) {
Mailer.checkAddressFormatAndThrow(from, 'Mailer.sendMail');
if (body.indexOf('[unsubscribe]') === -1) {
throw new Meteor.Error('error-missing-unsubscribe-link', 'You must provide the [unsubscribe] link.', {

@ -1,5 +1,6 @@
/* globals Mailer */
Mailer.unsubscribe = function(_id, createdAt) {
import { RocketChat } from 'meteor/rocketchat:lib';
export const unsubscribe = function(_id, createdAt) {
if (_id && createdAt) {
return RocketChat.models.Users.rocketMailUnsubscribe(_id, createdAt) === 1;
}

@ -0,0 +1,9 @@
import './startup';
import './models/Users';
import './methods/sendMail';
import './methods/unsubscribe';
import { Mailer } from './lib/Mailer';
export {
Mailer,
};

@ -0,0 +1,7 @@
import { sendMail } from '../functions/sendMail';
import { unsubscribe } from '../functions/unsubscribe';
export const Mailer = {
sendMail,
unsubscribe,
};

@ -1,5 +1,6 @@
/* globals Mailer */
import { Meteor } from 'meteor/meteor';
import { Mailer } from '../lib/Mailer';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.methods({
'Mailer.sendMail'(from, subject, body, dryrun, query) {

@ -1,6 +1,6 @@
/* globals Mailer */
import { Meteor } from 'meteor/meteor';
import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
import { Mailer } from '../lib/Mailer';
Meteor.methods({
'Mailer:unsubscribe'(_id, createdAt) {

@ -1,3 +1,5 @@
import { RocketChat } from 'meteor/rocketchat:lib';
RocketChat.models.Users.rocketMailUnsubscribe = function(_id, createdAt) {
const query = {
_id,

@ -1,4 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { RocketChat } from 'meteor/rocketchat:lib';
Meteor.startup(function() {
return RocketChat.models.Permissions.upsert('access-mailer', {

Loading…
Cancel
Save