Actualizar server.js
This commit is contained in:
24
server.js
24
server.js
@@ -342,6 +342,24 @@ function signToken(user) { const accountId = user.owner_id || user.id; return jw
|
||||
function authMiddleware(req, res, next) { const h = req.headers.authorization || ""; const token = h.startsWith("Bearer ") ? h.slice(7) : ""; if (!token) return res.status(401).json({ ok: false, error: "No token" }); try { req.user = jwt.verify(token, JWT_SECRET); next(); } catch { return res.status(401).json({ ok: false, error: "Token inválido" }); } }
|
||||
function genCode6() { return String(Math.floor(100000 + Math.random() * 900000)); }
|
||||
|
||||
|
||||
// ==========================================
|
||||
// 🕵️ ROBOT NOTARIO (TRAZABILIDAD TOTAL)
|
||||
// ==========================================
|
||||
async function registrarMovimiento(serviceId, userId, action, details) {
|
||||
try {
|
||||
let userName = "Sistema Robot";
|
||||
if (userId) {
|
||||
const u = await pool.query("SELECT full_name FROM users WHERE id=$1", [userId]);
|
||||
if (u.rowCount > 0) userName = u.rows[0].full_name;
|
||||
}
|
||||
await pool.query(
|
||||
"INSERT INTO scraped_service_logs (scraped_id, user_name, action, details) VALUES ($1, $2, $3, $4)",
|
||||
[serviceId, userName, action, details || ""]
|
||||
);
|
||||
} catch (e) { console.error("Error Robot Notario:", e); }
|
||||
}
|
||||
|
||||
// 🛡️ MIDDLEWARE DE PLANES
|
||||
async function requirePlan(req, res, next, feature) {
|
||||
try {
|
||||
@@ -1435,6 +1453,12 @@ app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => {
|
||||
[JSON.stringify(updatedRawData), finalAssignedTo, id, req.user.accountId]
|
||||
);
|
||||
|
||||
// --- INICIO TRAZABILIDAD ---
|
||||
let logDetalle = `Estado modificado a: ${stName.toUpperCase() || 'MODIFICADO'}.`;
|
||||
if (newDate) logDetalle += ` Cita para el ${newDate} a las ${newTime}.`;
|
||||
await registrarMovimiento(id, req.user.sub, "Actualización desde App", logDetalle);
|
||||
// --- FIN TRAZABILIDAD ---
|
||||
|
||||
res.json({ ok: true });
|
||||
} catch (e) {
|
||||
console.error("Error agendando cita:", e);
|
||||
|
||||
Reference in New Issue
Block a user