Actualizar server.js
This commit is contained in:
46
server.js
46
server.js
@@ -1979,6 +1979,52 @@ app.post("/public/assignment/:token/reject", async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// ==========================================
|
||||
// 📖 MOTOR DE TRAZABILIDAD (LOGS)
|
||||
// ==========================================
|
||||
// Creamos la tabla automáticamente si no existe
|
||||
pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS scraped_service_logs (
|
||||
id SERIAL PRIMARY KEY,
|
||||
scraped_id INT REFERENCES scraped_services(id) ON DELETE CASCADE,
|
||||
user_name TEXT,
|
||||
action TEXT NOT NULL,
|
||||
details TEXT,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
`).catch(console.error);
|
||||
|
||||
// Ruta para GUARDAR un evento en el log
|
||||
app.post("/services/:id/log", authMiddleware, async (req, res) => {
|
||||
try {
|
||||
const { action, details } = req.body;
|
||||
// Buscamos el nombre de quien hace la acción
|
||||
const userQ = await pool.query("SELECT full_name FROM users WHERE id=$1", [req.user.sub]);
|
||||
const userName = userQ.rows[0]?.full_name || "Sistema";
|
||||
|
||||
await pool.query(
|
||||
"INSERT INTO scraped_service_logs (scraped_id, user_name, action, details) VALUES ($1, $2, $3, $4)",
|
||||
[req.params.id, userName, action, details || ""]
|
||||
);
|
||||
res.json({ ok: true });
|
||||
} catch(e) {
|
||||
console.error("Error Log:", e);
|
||||
res.status(500).json({ ok: false });
|
||||
}
|
||||
});
|
||||
|
||||
// Ruta para LEER el historial de un servicio
|
||||
app.get("/services/:id/logs", authMiddleware, async (req, res) => {
|
||||
try {
|
||||
const q = await pool.query(
|
||||
"SELECT * FROM scraped_service_logs WHERE scraped_id = $1 ORDER BY created_at DESC",
|
||||
[req.params.id]
|
||||
);
|
||||
res.json({ ok: true, logs: q.rows });
|
||||
} catch(e) { res.status(500).json({ ok: false }); }
|
||||
});
|
||||
|
||||
// ==========================================
|
||||
// 🕒 EL RELOJ DEL SISTEMA (Ejecutar cada minuto)
|
||||
// ==========================================
|
||||
|
||||
Reference in New Issue
Block a user