Refactor la gestion des mesures en remplaçant le gestionnaire de mesures par le gestionnaire de stockage. Ajouter des fonctions pour gérer les images et les chemins des mesures. Améliorer la gestion des erreurs et nettoyer le code.

This commit is contained in:
2025-04-03 11:03:10 +02:00
parent c3b2059428
commit 6077dfd716
6 changed files with 124 additions and 199 deletions

View File

@@ -1,7 +1,8 @@
const express = require('express');
const router = express.Router();
const multer = require('multer');
const measureManager = require('../src/measure/measureManager');
const database_manager = require('../src/database/database_manager');
const storage_manager = require('../src/data/storage_manager');
const serverError = require('../utils/serverError');
const upload = multer({ storage: multer.memoryStorage() });
@@ -17,7 +18,10 @@ router.post('/uploadmeasurement', upload.single('image'), async (req, res) => {
}
try {
const nextOrderId = await measureManager.getNextOrderId(projectId);
const nextOrderId = await database_manager.measurement.get_next_order_id(projectId);
if (nextOrderId === null) {
return res.status(404).json({ error: 'Project not found' });
}
// Log types for debugging
console.log('Types:', {
@@ -26,8 +30,14 @@ router.post('/uploadmeasurement', upload.single('image'), async (req, res) => {
nextOrderId: typeof nextOrderId
});
const imagePath = await measureManager.uploadMeasureImage(image, projectId, nextOrderId);
const measurement = await measureManager.addMeasureToProject(projectId, timestamp, imagePath, temperature, humidity, nextOrderId);
const imagePath = await storage_manager.measurement.upload_measurement_image(image, projectId, nextOrderId);
if (!imagePath) {
return res.status(500).json({ error: 'Failed to upload image' });
}
const measurement = await database_manager.measurement.add_measurement(projectId, timestamp, imagePath, temperature, humidity, nextOrderId);
if (!measurement) {
return res.status(500).json({ error: 'Failed to add measurement' });
}
res.json({ message: 'Measurement uploaded successfully', path: imagePath, id: measurement.id });
} catch (error) {
serverError.sendError('Error uploading measurement:', res, error, 500);