diff --git a/server.js b/server.js index 9c958f8..1897c18 100644 --- a/server.js +++ b/server.js @@ -2148,9 +2148,13 @@ app.put('/providers/scraped/:id', authMiddleware, async (req, res) => { // Rescatamos si es urgente (es una columna física en tu base de datos) const isUrgentFinal = is_urgent !== undefined ? is_urgent : current.rows[0].is_urgent; + // 🧹 AUTO-ARCHIVO: Si es finalizado o anulado, lo enterramos de verdad + const isFinal = stName.includes('finalizado') || stName.includes('terminado') || stName.includes('anulado'); + const mainStatus = isFinal ? 'archived' : 'imported'; + await pool.query( - `UPDATE scraped_services SET raw_data = $1, assigned_to = $2, is_urgent = $3, status = 'imported' WHERE id = $4 AND owner_id = $5`, - [JSON.stringify(updatedRawData), finalAssignedTo, isUrgentFinal, id, req.user.accountId] + `UPDATE scraped_services SET raw_data = $1, assigned_to = $2, is_urgent = $3, status = $6 WHERE id = $4 AND owner_id = $5`, + [JSON.stringify(updatedRawData), finalAssignedTo, isUrgentFinal, id, req.user.accountId, mainStatus] ); // BANDERAS INTELIGENTES @@ -2304,8 +2308,12 @@ app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => { "status_operativo": status_operativo }; - await pool.query('UPDATE scraped_services SET raw_data = $1, assigned_to = $2, status = \'imported\' WHERE id = $3 AND owner_id = $4', - [JSON.stringify(updatedRawData), finalAssignedTo, id, req.user.accountId] + // 🧹 AUTO-ARCHIVO DESDE LA APP + const isFinalApp = stName.includes('finalizado') || stName.includes('terminado') || stName.includes('anulado'); + const mainStatusApp = isFinalApp ? 'archived' : 'imported'; + + await pool.query('UPDATE scraped_services SET raw_data = $1, assigned_to = $2, status = $5 WHERE id = $3 AND owner_id = $4', + [JSON.stringify(updatedRawData), finalAssignedTo, id, req.user.accountId, mainStatusApp] ); let logDetalle = `Estado modificado a: ${stName.toUpperCase() || 'MODIFICADO'}.`;