const tpl = require('@tryghost/tpl'); const errors = require('@tryghost/errors'); const models = require('../../models'); const ALLOWED_INCLUDES = ['authors', 'tags']; const messages = { postNotFound: 'Post not found.' }; module.exports = { docName: 'email_post', read: { permissions: true, options: [ 'include' ], data: [ 'uuid' ], validation: { options: { include: { values: ALLOWED_INCLUDES } }, data: { uuid: { required: true } } }, async query(frame) { const model = await models.Post.findOne(Object.assign(frame.data, {status: 'sent'}), frame.options); if (!model) { throw new errors.NotFoundError({ message: tpl(messages.postNotFound) }); } return model; } } };