/** * 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" }); } }; export default (res, page) => { res.status(200).render("index", page.render()); };