digivote/libs/routex.js

44 lines
985 B
JavaScript
Raw Normal View History

2022-01-12 20:54:11 +01:00
import express from 'express'
const { Request, Response } = express
/**
* This returns a universal function for a UI/JSON response.
* @param {Request} req
* @param {Response} res
* @returns {Function}
*/
export default function routex(req, res) {
if (req.baseUrl === "/api")
return function(_, data, success, __) {
if (success)
return res.json(
{ success
, response: data
}
)
return res.json(
{ success
, response: data.error
}
)
}
return function(template, data, success, options) {
if (success)
return res.render(
template,
{ data
, options
}
)
return res.render(
'pages/error.njk',
{ data
, options
}
)
}
}