Actualizar server.js
This commit is contained in:
13
server.js
13
server.js
@@ -1975,8 +1975,10 @@ app.post("/providers/scraped", authMiddleware, async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 🚨 NUEVO: Detectar si el robot nos avisa de que el expediente está cerrado/archivado en origen
|
// 🚨 SOLUCIÓN DEFINITIVA PARA ARCHIVADOS:
|
||||||
let scraperStatus = svc.status || 'pending';
|
// Solo archivamos si el robot manda explícitamente la palabra 'archived'.
|
||||||
|
// Si manda 'pending', 'in_progress', o nada, se asume 'pending' pero NO pisa la BD si ya existía.
|
||||||
|
let scraperStatus = (svc.status === 'archived') ? 'archived' : 'pending';
|
||||||
|
|
||||||
// GUARDAR EN BD
|
// GUARDAR EN BD
|
||||||
const insertRes = await pool.query(`
|
const insertRes = await pool.query(`
|
||||||
@@ -1984,7 +1986,12 @@ app.post("/providers/scraped", authMiddleware, async (req, res) => {
|
|||||||
VALUES ($1, $2, $3, $4, $5, $6)
|
VALUES ($1, $2, $3, $4, $5, $6)
|
||||||
ON CONFLICT (owner_id, provider, service_ref)
|
ON CONFLICT (owner_id, provider, service_ref)
|
||||||
DO UPDATE SET
|
DO UPDATE SET
|
||||||
status = CASE WHEN EXCLUDED.status = 'archived' THEN 'archived' ELSE scraped_services.status END,
|
-- Si el robot trae 'archived', lo machaca y lo archiva.
|
||||||
|
-- Si trae cualquier otra cosa, RESPETA el estado que tenga actualmente en nuestra BD.
|
||||||
|
status = CASE
|
||||||
|
WHEN EXCLUDED.status = 'archived' THEN 'archived'
|
||||||
|
ELSE scraped_services.status
|
||||||
|
END,
|
||||||
raw_data = scraped_services.raw_data || EXCLUDED.raw_data,
|
raw_data = scraped_services.raw_data || EXCLUDED.raw_data,
|
||||||
is_urgent = scraped_services.is_urgent OR EXCLUDED.is_urgent
|
is_urgent = scraped_services.is_urgent OR EXCLUDED.is_urgent
|
||||||
RETURNING id, automation_status
|
RETURNING id, automation_status
|
||||||
|
|||||||
Reference in New Issue
Block a user