55 lines
2.2 KiB
JavaScript
55 lines
2.2 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const database_manager = require('../src/database/database_manager');
|
|
|
|
router.get('/measurements', (req, res) => {
|
|
const measurements = database_manager.measurement.get_all_measurements();
|
|
if (!measurements) {
|
|
return res.status(404).json({ error: 'No measurements found' });
|
|
}
|
|
res.json(measurements);
|
|
});
|
|
|
|
router.get('/measurements/:id', (req, res) => {
|
|
const measurement = database_manager.measurement.get_measurement_by_id(req.params.id);
|
|
if (!measurement) {
|
|
return res.status(404).json({ error: 'Measurement not found' });
|
|
}
|
|
res.json(measurement);
|
|
});
|
|
|
|
router.get('/measurements/:projectId/:orderId', async (req, res) => {
|
|
const measurement = await database_manager.measurement.get_measurement_by_project_and_order_id(req.params.projectId, req.params.orderId);
|
|
if (!measurement) {
|
|
return res.status(404).json({ error: 'Measurement not found' });
|
|
}
|
|
res.json(measurement);
|
|
});
|
|
|
|
router.post('/measurements', (req, res) => {
|
|
const { projectId, timestamp, imagePath, temperature, humidity, orderId } = req.body;
|
|
if (!projectId || !timestamp || !imagePath || !temperature || !humidity || !orderId) {
|
|
return res.status(400).json({ error: 'All fields are required' });
|
|
}
|
|
const measurement = database_manager.measurement.add_measurement(projectId, timestamp, imagePath, temperature, humidity, orderId);
|
|
res.status(201).json(measurement);
|
|
});
|
|
|
|
router.delete('/measurements/:id', async (req, res) => {
|
|
const measurement = await database_manager.measurement.delete_measurement_by_id(req.params.id);
|
|
if (!measurement) {
|
|
return res.status(404).json({ error: 'Measurement not found' });
|
|
}
|
|
res.json({ message: 'Measurement deleted successfully', id: measurement.id });
|
|
});
|
|
|
|
router.delete('/measurements/:projectId/:orderId', async (req, res) => {
|
|
const measurement = await database_manager.measurement.delete_measurement_by_project_and_order_id(req.params.projectId, req.params.orderId);
|
|
if (!measurement) {
|
|
return res.status(404).json({ error: 'Measurement not found' });
|
|
}
|
|
res.json({ message: 'Measurement deleted successfully', id: measurement.id });
|
|
});
|
|
|
|
module.exports = router;
|