0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Extracted post email serializer from mega service

This commit is contained in:
Nazar Gargol 2019-11-05 12:14:54 +07:00
parent 8a7bf353d4
commit c913b0cbbf
3 changed files with 31 additions and 15 deletions

View file

@ -1,3 +1,10 @@
module.exports = {
mega: require('./mega')
get mega() {
return require('./mega');
},
get postEmailSerializer() {
return require('./post-email-serializer');
}
};

View file

@ -1,24 +1,12 @@
const juice = require('juice');
const common = require('../../lib/common');
const api = require('../../api');
const membersService = require('../members');
const bulkEmailService = require('../bulk-email');
const models = require('../../models');
const template = require('./template');
const settingsCache = require('../../services/settings/cache');
const urlUtils = require('../../lib/url-utils');
const getSite = () => {
return Object.assign({}, settingsCache.getPublic(), {
url: urlUtils.urlFor('home', true)
});
};
const postEmailSerializer = require('./post-email-serializer');
const sendEmail = async (post) => {
const emailTmpl = {
subject: post.email_subject || post.title,
html: juice(template({post, site: getSite()}))
};
const emailTmpl = postEmailSerializer.serialize(post);
const {members} = await membersService.api.members.list();
const emails = members.map(m => m.email);

View file

@ -0,0 +1,21 @@
const juice = require('juice');
const template = require('./template');
const settingsCache = require('../../services/settings/cache');
const urlUtils = require('../../lib/url-utils');
const getSite = () => {
return Object.assign({}, settingsCache.getPublic(), {
url: urlUtils.urlFor('home', true)
});
};
const serialize = (post) => {
return {
subject: post.email_subject || post.title,
html: juice(template({post, site: getSite()}))
};
};
module.exports = {
serialize: serialize
};