diff --git a/routes/api.js b/routes/api.js index 2df113e..116177e 100644 --- a/routes/api.js +++ b/routes/api.js @@ -29,6 +29,39 @@ router.get('/itemsdb', (req, res) => { }); }); +/** + * @swagger + * /metrics/{id_projet}: + * get: + * description: Use to request metrics for a specific project by id_projet + * parameters: + * - in: path + * name: id_projet + * required: true + * description: Numeric ID of the project to retrieve metrics for. + * schema: + * type: integer + * responses: + * 200: + * description: A successful response + * 500: + * description: Internal server error + */ +router.get('/metrics/:id_projet', (req, res) => { + const idProjet = req.params.id_projet; + const query = 'SELECT * FROM public.metrique WHERE id_projet = $1'; + res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500'); + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); + res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); + db.query(query, [idProjet], (err, results) => { + if (err) { + console.error('Erreur lors de la récupération des métriques:', err); + return res.status(500).json({ error: 'Erreur serveur' }); + } + res.json(results.rows); + }); +}); + /** * @swagger * /items: