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:
parent
8a7bf353d4
commit
c913b0cbbf
3 changed files with 31 additions and 15 deletions
|
@ -1,3 +1,10 @@
|
|||
module.exports = {
|
||||
mega: require('./mega')
|
||||
get mega() {
|
||||
return require('./mega');
|
||||
},
|
||||
|
||||
get postEmailSerializer() {
|
||||
return require('./post-email-serializer');
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
21
core/server/services/mega/post-email-serializer.js
Normal file
21
core/server/services/mega/post-email-serializer.js
Normal 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
|
||||
};
|
Loading…
Add table
Reference in a new issue