zkt26/z1/webapp/routes/api/objet.js
2026-03-31 19:33:15 +02:00

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;