fix: melhora a formatação e tratamento de erros na função getExistingSourceIds

This commit is contained in:
Willian Coqueiro 2025-05-23 02:18:13 +00:00
commit ddaf32be76

View File

@ -177,24 +177,26 @@ class ChatwootImport {
return existingSourceIdsSet; return existingSourceIdsSet;
} }
const formattedSourceIds = sourceIds.map((sourceId) => `WAID:${sourceId.replace('WAID:', '')}`); // Make sure the sourceId is always formatted as WAID:1234567890 const formattedSourceIds = sourceIds.map((sourceId) => `WAID:${sourceId.replace('WAID:', '')}`);
let query: string;
if (conversationId) {
query = 'SELECT source_id FROM messages WHERE source_id = ANY($1) AND conversation_id = $2';
} else {
query = 'SELECT source_id FROM messages WHERE source_id = ANY($1)';
}
const pgClient = postgresClient.getChatwootConnection(); 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) { for (const row of result.rows) {
existingSourceIdsSet.add(row.source_id); existingSourceIdsSet.add(row.source_id);
} }
return existingSourceIdsSet; return existingSourceIdsSet;
} catch (error) { } catch (error) {
return null; this.logger.error(`Error on getExistingSourceIds: ${error.toString()}`);
return new Set<string>();
} }
} }
@ -336,7 +338,6 @@ class ChatwootImport {
this.deleteHistoryMessages(instance); this.deleteHistoryMessages(instance);
this.deleteRepositoryMessagesCache(instance); this.deleteRepositoryMessagesCache(instance);
return 0;
} }
} }