const express = require('express'); const router = express.Router(); const multer = require('multer'); const measureManager = require('../src/measure/measureManager'); const serverError = require('../utils/serverError'); const upload = multer({ storage: multer.memoryStorage() }); router.get('/getprocedures', async (req, res) => { // retourner un json avec les paramètres de la procédure const procedures = { "project": 1 } res.json(procedures); }); router.post('/uploadmeasurement', upload.single('image'), async (req, res) => { const { projectId, timestamp, temperature, humidity } = req.body; const image = req.file; if (!image || !projectId || !timestamp || !temperature || !humidity) { return res.status(400).json({ error: 'All fields are required' }); } try { const nextOrderId = await measureManager.getNextOrderId(projectId); // Log types for debugging console.log('Types:', { image: typeof image, projectId: typeof projectId, nextOrderId: typeof nextOrderId }); const imagePath = await measureManager.uploadMeasureImage(image, projectId, nextOrderId); const measurement = await measureManager.addMeasureToProject(projectId, timestamp, imagePath, temperature, humidity, nextOrderId); res.json({ message: 'Measurement uploaded successfully', path: imagePath, id: measurement.id }); } catch (error) { serverError.sendError('Error uploading measurement:', res, error, 500); } }); module.exports = router;