diff --git a/robot.js b/robot.js index 1a02b74..559347f 100644 --- a/robot.js +++ b/robot.js @@ -387,7 +387,10 @@ async function saveServiceToDB(ownerId, provider, ref, data) { VALUES ($1, $2, $3, $4, 'pending', $5) ON CONFLICT (owner_id, provider, service_ref) DO UPDATE SET - raw_data = scraped_services.raw_data || EXCLUDED.raw_data, + -- 🛡️ EL ESCUDO: Fusiona todo, pero si ya había un gremio guardado, lo blinda para que el robot no lo pise + raw_data = (scraped_services.raw_data || EXCLUDED.raw_data) || + jsonb_build_object('guild_id', COALESCE(scraped_services.raw_data->'guild_id', EXCLUDED.raw_data->'guild_id')), + is_urgent = EXCLUDED.is_urgent, status = CASE WHEN scraped_services.status = 'archived' THEN 'archived'