Ajouter une route pour récupérer une image par ID de mesure

This commit is contained in:
2025-03-10 13:26:46 +01:00
parent 98e74d22f2
commit 348509fddb

View File

@@ -84,4 +84,49 @@ router.get('/images/:projectId/:orderId', (req, res) => {
}); });
}); });
/**
* @swagger
* /images/{measurementId}:
* get:
* summary: Retrieve an image by measurement ID
* parameters:
* - in: path
* name: measurementId
* required: true
* schema:
* type: string
* description: The measurement ID
* responses:
* 200:
* description: An image file
* content:
* application/octet-stream:
* schema:
* type: string
* format: binary
* 404:
* description: Image not found
*/
router.get('/images/:measurementId', (req, res) => {
const measurementId = req.params.measurementId;
const query = 'SELECT path FROM public.measurements WHERE id = $1';
db.query(query, [measurementId], (err, results) => {
if (err) {
return serverError.sendError('Error getting image:', res, err);
}
if (results.rows.length === 0) {
return res.status(404).json({ error: 'Image not found' });
}
const imagePath = results.rows[0].path;
fs.access(imagePath, fs.constants.F_OK, (err) => {
if (err) {
console.error('Image not found:', err);
return res.status(404).json({ error: 'Image not found' });
}
res.download(imagePath);
});
});
});
module.exports = router; module.exports = router;