62 lines
2.1 KiB
JavaScript
62 lines
2.1 KiB
JavaScript
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' });
|
|
}
|
|
};
|