Revision e61492ee9e90f2652df4c505ce35bcad5676129e authored by Thomas Guillet on 21 May 2021, 05:33:56 UTC, committed by Thomas Guillet on 21 May 2021, 05:33:56 UTC
1 parent 6eaac84
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
// eslint-disable-next-line no-unused-vars
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
Computing file changes ...