Actualizar server.js

This commit is contained in:
2026-03-15 11:23:57 +00:00
parent 8da221dc01
commit dc0bb0bfdb

View File

@@ -1912,6 +1912,41 @@ app.post("/providers/scraped", authMiddleware, async (req, res) => {
}
});
// ==========================================
// 📤 OBTENER SERVICIOS PARA EL BUZÓN (RUTA GET - NO BORRAR)
// ==========================================
app.get("/providers/scraped", authMiddleware, async (req, res) => {
try {
const q = await pool.query(`
SELECT
s.*,
ap.token as active_token,
EXTRACT(EPOCH FROM (ap.expires_at - CURRENT_TIMESTAMP)) as seconds_left,
u.full_name as current_worker_name,
(SELECT json_agg(json_build_object('name', u2.full_name, 'phone', u2.phone))
FROM assignment_pings ap2
JOIN users u2 ON ap2.user_id = u2.id
WHERE ap2.scraped_id = s.id AND ap2.status IN ('expired', 'rejected')) as attempted_workers_data
FROM scraped_services s
LEFT JOIN assignment_pings ap ON s.id = ap.scraped_id AND ap.status = 'pending'
LEFT JOIN users u ON ap.user_id = u.id
WHERE s.owner_id = $1
ORDER BY s.created_at DESC
`, [req.user.accountId]);
const services = q.rows.map(row => {
if (row.seconds_left && row.seconds_left > 0) {
row.token_expires_at = new Date(Date.now() + (row.seconds_left * 1000));
} else if (row.seconds_left <= 0) {
row.token_expires_at = new Date(Date.now() - 1000);
}
delete row.seconds_left;
return row;
});
res.json({ ok: true, services });
} catch (e) { res.status(500).json({ ok: false }); }
});
// ==========================================
// 🤖 RUTA DE AUTOMATIZACIÓN (MEJORADA)
// ==========================================