const pool = require('../config/db'); async function logActivity(reqOrUser, action, details = null) { let userId, userPrenom, userNom, ip; if (reqOrUser && reqOrUser.user) { userId = reqOrUser.user.id; userPrenom = reqOrUser.user.prenom; userNom = reqOrUser.user.nom; ip = reqOrUser.ip || reqOrUser.connection?.remoteAddress || null; } else if (reqOrUser && reqOrUser.id) { userId = reqOrUser.id; userPrenom = reqOrUser.prenom || ''; userNom = reqOrUser.nom || ''; ip = null; } else { return; } try { await pool.query( 'INSERT INTO activity_logs (user_id, user_prenom, user_nom, action, details, ip_address) VALUES (?, ?, ?, ?, ?, ?)', [userId, userPrenom, userNom, action, details ? JSON.stringify(details) : null, ip] ); } catch (err) { console.error('Failed to log activity:', err.message); } } module.exports = { logActivity };