2022-02-15 11:03:20 +01:00
|
|
|
/**
|
|
|
|
* Fonction permettant de formater une réponse basée sur la méthode utilisée
|
|
|
|
* @param {Object} req
|
|
|
|
* @param {Object} res
|
|
|
|
* @param {Object} data
|
|
|
|
*
|
|
|
|
* @return {Object}
|
|
|
|
*/
|
|
|
|
export const sendResponse = (req, res, data) => {
|
|
|
|
let status = 200;
|
|
|
|
const path = req.route.path.split("/");
|
|
|
|
|
|
|
|
switch (req.method) {
|
|
|
|
case "GET":
|
|
|
|
// INFO: On regarde de quel type de get il s'agit (liste ou item)
|
|
|
|
if (path[path.length - 1].indexOf(":") === 0) {
|
|
|
|
// INFO: Cas d'un item
|
|
|
|
status = !data ? 404 : 200;
|
|
|
|
} else {
|
|
|
|
// INFO: Cas d'une liste
|
|
|
|
status =
|
|
|
|
data.rows === undefined || data.rows.length > 0 ? 200 : 204;
|
|
|
|
}
|
|
|
|
|
|
|
|
return res.status(status).json(data).end();
|
|
|
|
case "PATCH":
|
|
|
|
return res.status(200).json(data).end();
|
|
|
|
case "DELETE":
|
|
|
|
return res.status(200).json(data).end();
|
|
|
|
case "POST":
|
|
|
|
return res.status(201).json(data).end();
|
|
|
|
default:
|
|
|
|
return res.status(500).json({ message: "Not implemented" });
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2022-02-13 17:59:42 +01:00
|
|
|
export default (res, page) => {
|
|
|
|
res.status(200).render("index", page.render());
|
|
|
|
};
|