const express = require('express'); const router = express.Router(); const db = require('../config/db'); // Modifier un objet router.post('/update-objet', (req, res) => { const { adresse_ip, niveau, etat } = req.body; const sql = 'UPDATE objet SET niveau = ?, etat = ? WHERE adresse_ip = ?'; db.query(sql, [niveau, etat, adresse_ip], (err) => { if (err) { console.error("Erreur lors de la modification de l'objet :", err); return res.status(500).send("Erreur lors de la modification de l'objet"); } res.redirect('/dashboard-complexe'); }); }); // Supprimer un objet (et ses dépendances) router.post('/supprimer-objet', (req, res) => { const { adresse_ip } = req.body; console.log('Adresse IP reçue pour suppression :', adresse_ip); const deleteChildTables = [ 'climatisation_chauffage', 'thermostat', 'appareil_menager', 'securite' ]; const deleteFromTable = (table) => { return new Promise((resolve, reject) => { const sql = `DELETE FROM ${table} WHERE adresse_ip = ?`; db.query(sql, [adresse_ip], (err) => { if (err) { console.error(`Erreur suppression dans ${table} :`, err); return reject(err); } resolve(); }); }); }; Promise.all(deleteChildTables.map(deleteFromTable)) .then(() => { db.query('DELETE FROM objet WHERE adresse_ip = ?', [adresse_ip], (err) => { if (err) { console.error('Erreur suppression objet :', err); return res.status(500).send("Erreur lors de la suppression de l'objet"); } res.redirect('/dashboard-complexe'); }); }) .catch(err => { res.status(500).send("Erreur lors de la suppression d'une dépendance liée à l'objet"); }); }); // Ajouter un objet router.post('/ajouter-objet', (req, res) => { const { denomination, adresse_ip, type, niveau, etat } = req.body; const sql = ` INSERT INTO objet (denomination, adresse_ip, type, niveau, etat) VALUES (?, ?, ?, ?, ?)`; db.query(sql, [denomination, adresse_ip, type, niveau, etat], (err) => { if (err) { console.error('Erreur ajout objet :', err); return res.status(500).send("Erreur lors de l'ajout de l'objet"); } res.redirect('/dashboard-complexe'); }); }); module.exports = router;