unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
32 lines • 1.31 kB
JavaScript
import { ADMIN } from '../../types/permissions.js';
import { TemplateFormat, } from '../../services/email-service.js';
import Controller from '../controller.js';
import sanitize from 'sanitize-filename';
export default class EmailController extends Controller {
constructor(config, { emailService }) {
super(config);
this.emailService = emailService;
this.logger = config.getLogger('routes/admin-api/email');
this.get('/preview/html/:template', this.getHtmlPreview, ADMIN);
this.get('/preview/text/:template', this.getTextPreview, ADMIN);
}
async getHtmlPreview(req, res) {
const { template } = req.params;
const ctx = req.query;
const data = await this.emailService.compileTemplate(sanitize(template), TemplateFormat.HTML, ctx);
res.setHeader('Content-Type', 'text/html');
res.status(200);
res.send(data);
res.end();
}
async getTextPreview(req, res) {
const { template } = req.params;
const ctx = req.query;
const data = await this.emailService.compileTemplate(sanitize(template), TemplateFormat.PLAIN, ctx);
res.setHeader('Content-Type', 'text/plain');
res.status(200);
res.send(data);
res.end();
}
}
//# sourceMappingURL=email.js.map