Files
2026-08-23 09:04:47 +00:00

29 lines
910 B
JavaScript

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 };