Files
timelapse-backend/routes/uploadRoutes.js

39 lines
1.3 KiB
JavaScript

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.post('/uploadmeasurement', upload.single('image'), async (req, res) => {
//afficher le body de la requête
console.log(req.body);
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;