57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const db = require('../../config/db');
|
|
|
|
router.get('/', (req, res) => {
|
|
const sql = `
|
|
SELECT
|
|
objet.adresse_ip,
|
|
objet.niveau,
|
|
objet.denomination,
|
|
objet.etat,
|
|
objet.derniere_interaction,
|
|
objet.type,
|
|
thermostat.temperature_actuelle,
|
|
thermostat.temperature_cible,
|
|
thermostat.mode,
|
|
appareil_menager.depart_differe,
|
|
appareil_menager.etat_de_la_tache,
|
|
securite.situation AS situation_securite
|
|
FROM objet
|
|
LEFT JOIN thermostat ON objet.adresse_ip = thermostat.adresse_ip
|
|
LEFT JOIN appareil_menager ON objet.adresse_ip = appareil_menager.adresse_ip
|
|
LEFT JOIN securite ON objet.adresse_ip = securite.adresse_ip
|
|
`;
|
|
|
|
db.query(sql, (err, result) => {
|
|
if (err) {
|
|
console.error('Erreur lors de la récupération des objets :', err);
|
|
return res.status(500).send('Erreur serveur');
|
|
}
|
|
res.json(result);
|
|
});
|
|
});
|
|
|
|
|
|
router.put('/:adresse_ip', (req, res) => {
|
|
const adresse_ip = req.params.adresse_ip;
|
|
const champs = req.body;
|
|
|
|
const setValues = Object.keys(champs)
|
|
.map(key => `${key} = ?`)
|
|
.join(', ');
|
|
|
|
const sql = `UPDATE objet SET ${setValues} WHERE adresse_ip = ?`;
|
|
const values = [...Object.values(champs), adresse_ip];
|
|
|
|
db.query(sql, values, (err) => {
|
|
if (err) {
|
|
console.error('Erreur lors de la mise à jour de l\'objet :', err);
|
|
return res.status(500).send('Erreur serveur');
|
|
}
|
|
res.sendStatus(200);
|
|
});
|
|
});
|
|
|
|
module.exports = router;
|