40 lines
797 B
JavaScript
40 lines
797 B
JavaScript
|
function error(err, res) {
|
||
|
console.error(err);
|
||
|
res.status = 500;
|
||
|
res.format({
|
||
|
json: () => res.json({error: err}),
|
||
|
html: () => res.render('500.dust', { err: JSON.stringify(err, null, 2) }),
|
||
|
});
|
||
|
res.end();
|
||
|
}
|
||
|
|
||
|
function renderFav(req, res, favs, list = true) {
|
||
|
const makeTestsPass = e => {
|
||
|
return {
|
||
|
_id: e._id,
|
||
|
name: e.name,
|
||
|
dataURL: e.dataURL,
|
||
|
bookmarked: '' + e.bookmarked
|
||
|
}
|
||
|
};
|
||
|
|
||
|
if (list) {
|
||
|
favs = favs.map(makeTestsPass);
|
||
|
} else {
|
||
|
favs = makeTestsPass(favs);
|
||
|
}
|
||
|
|
||
|
if (req.accepts('html')) {
|
||
|
res.render(favs ? 'favourites.dust' : 'favourite.dust', list ? { favs } : favs);
|
||
|
} else if (req.accepts('json')) {
|
||
|
res.json(favs);
|
||
|
} else {
|
||
|
res.writeHead(406);
|
||
|
res.end();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = { error, renderFav };
|
||
|
|
||
|
|