From 0b2d8a752fef9c0653f51e4ebccc0638f9edab41 Mon Sep 17 00:00:00 2001 From: Willian Coqueiro Date: Fri, 23 May 2025 02:13:46 +0000 Subject: [PATCH] fix: melhora o tratamento de erros e otimiza a consulta de IDs de origem no Chatwoot --- .../chatwoot/utils/chatwoot-import-helper.ts | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/api/integrations/chatbot/chatwoot/utils/chatwoot-import-helper.ts b/src/api/integrations/chatbot/chatwoot/utils/chatwoot-import-helper.ts index f58b28e4..0f866e8c 100644 --- a/src/api/integrations/chatbot/chatwoot/utils/chatwoot-import-helper.ts +++ b/src/api/integrations/chatbot/chatwoot/utils/chatwoot-import-helper.ts @@ -177,25 +177,26 @@ class ChatwootImport { return existingSourceIdsSet; } - const formattedSourceIds = sourceIds.map((sourceId) => `WAID:${sourceId.replace('WAID:', '')}`); // Make sure the sourceId is always formatted as WAID:1234567890 - let query: string; - if (conversationId) { - query = 'SELECT source_id FROM messages WHERE source_id = ANY($1) AND conversation_id = $2'; - - if (!conversationId) { - query = 'SELECT source_id FROM messages WHERE source_id = ANY($1)'; - } - + const formattedSourceIds = sourceIds.map((sourceId) => `WAID:${sourceId.replace('WAID:', '')}`); const pgClient = postgresClient.getChatwootConnection(); - const result = await pgClient.query(query, [formattedSourceIds, conversationId]); - + + const params = conversationId + ? [formattedSourceIds, conversationId] + : [formattedSourceIds]; + + const query = conversationId + ? 'SELECT source_id FROM messages WHERE source_id = ANY($1) AND conversation_id = $2' + : 'SELECT source_id FROM messages WHERE source_id = ANY($1)'; + + const result = await pgClient.query(query, params); for (const row of result.rows) { existingSourceIdsSet.add(row.source_id); } return existingSourceIdsSet; } catch (error) { - return null; + this.logger.error(`Error on getExistingSourceIds: ${error.toString()}`); + return new Set(); } }