const pool = require('../config/db'); const { logActivity } = require('../services/activityLog'); exports.list = async (req, res) => { try { const [rows] = await pool.query(` SELECT mh.*, u.prenom, u.nom, u.societe AS membre_societe FROM mises_en_honneur mh LEFT JOIN users u ON u.id = mh.membre_id ORDER BY mh.date ASC `); res.json(rows); } catch (err) { console.error(err); res.status(500).json({ error: 'Server error' }); } }; exports.create = async (req, res) => { try { const { date, membre_id, societe, theme_sujet } = req.body; if (!date || !theme_sujet) { return res.status(400).json({ error: 'Date and theme required' }); } const [result] = await pool.query( 'INSERT INTO mises_en_honneur (date, membre_id, societe, theme_sujet) VALUES (?, ?, ?, ?)', [date, membre_id || null, societe || null, theme_sujet] ); res.status(201).json({ id: result.insertId, message: 'Honor added' }); logActivity(req, 'honneur_ajout', { date, membre_id, theme_sujet }); } catch (err) { console.error(err); res.status(500).json({ error: 'Server error' }); } }; exports.update = async (req, res) => { try { const { date, membre_id, societe, theme_sujet } = req.body; await pool.query( 'UPDATE mises_en_honneur SET date = ?, membre_id = ?, societe = ?, theme_sujet = ? WHERE id = ?', [date, membre_id || null, societe || null, theme_sujet, req.params.id] ); res.json({ message: 'Updated' }); logActivity(req, 'honneur_modification', { id: req.params.id, date, membre_id, theme_sujet }); } catch (err) { console.error(err); res.status(500).json({ error: 'Server error' }); } }; exports.remove = async (req, res) => { try { await pool.query('DELETE FROM mises_en_honneur WHERE id = ?', [req.params.id]); res.json({ message: 'Deleted' }); logActivity(req, 'honneur_suppression', { id: req.params.id }); } catch (err) { console.error(err); res.status(500).json({ error: 'Server error' }); } };