https://github.com/sgmap/mes-aides-ui
Tip revision: a6358df1e6b31b25a13c44761752fee8ca3e3909 authored by Thomas Guillet on 05 May 2021, 06:08:18 UTC
Affiche la pension alimentaire dans les ressources pour tous
Affiche la pension alimentaire dans les ressources pour tous
Tip revision: a6358df
mjml.js
#!/usr/bin/env node
/* eslint-disable no-console */
var express = require('express');
require('./backend/api');
var Followup = require('mongoose').model('Followup');
var renderInitial = require('./backend/lib/mes-aides/emails/initial').render;
var renderSurvey = require('./backend/lib/mes-aides/emails/survey').render;
var port = process.env.PORT || 9001;
// Setup Express
var app = express();
const typeKeys = ['initial', 'survey']
app.route('/').get(function(req, res) {
Followup.find().sort({createdAt: -1})
.exec(function(err, docs) {
res.send(`
<html><body><h1>List</h1><ul>
${docs.map(d => `
<li>
${d._id}
<ul>
${typeKeys.map(t => `<li>${t} <a href="mjml/${d._id}/${t}?mode=html">HTML</a> <a href="mjml/${d._id}/${t}?mode=text">texte</a></li>`).join('')}
</ul>
</li>
`)}</ul></body></html>
`)
})
})
app.route('/mjml/:id/:type').get(function(req, res) {
Followup
.findOne({ _id: req.params.id })
.populate('situation')
.exec(function(err, followup) {
console.log('followup', { _id: req.params.id }, followup)
const p = req.params.type == 'initial' ? renderInitial(followup) : followup.createSurvey().then(s => followup.renderSurveyEmail(s))
p.then(function(result) {
const mode = req.query.mode || 'html'
if (mode == 'html') {
res.send(result[mode]);
} else {
res.set({'Content-Type': 'text/plain'}).send(result[mode]);
}
});
});
});
// Start server
app.listen(port, function () {
console.log('Mes Aides MJML preview server listening on port %d, in %s mode', port, app.get('env'));
});
module.exports = app;