| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…alvos - Muda tabela base da consulta de Contact para Message - Altera INNER JOIN para LEFT JOIN entre Message e Contact - Usa COALESCE para campos que podem estar vazios - Adiciona flag isSaved para identificar contatos salvos/não salvos - Preserva toda funcionalidade de filtros existente Resolve issue evolution-foundation#1376
Reviewer's Guide by SourceryThis pull request modifies the fetchChats function to include messages from unsaved contacts. It changes the base table for the query from Contact to Message, uses a LEFT JOIN instead of an INNER JOIN between Message and Contact, and uses COALESCE to handle potentially empty fields. Additionally, it adds an isSaved flag to identify saved/unsaved contacts and preserves existing filter functionality. ER Diagram for fetchChats Query ChangeerDiagram
Message {
string key
string pushName
bigint messageTimestamp
string instanceId
}
Contact {
string id
string remoteJid
string pushName
string profilePicUrl
datetime updatedAt
string instanceId
}
Chat {
string remoteJid
datetime createdAt
string instanceId
}
Message ||--o{ Contact : remoteJid
Message ||--o{ Chat : remoteJid
File-Level Changes
Possibly linked issues
Tips and commands Interacting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Sorry, something went wrong.
There was a problem hiding this comment.
Hey @leandrosroc - I've reviewed your changes - here's some feedback:
Overall Comments:
Sorry, something went wrong.
🛠️ Complemento à PR: Suporte a mensagens de contatos não salvos em fetchChatsPrimeiramente, parabéns pelo avanço com esse PR. 🙌 A estratégia usada foi válida:
⚠️ Contudo, ainda havia um problema em fetchContactsMesmo com esse PR, ao consumir o endpoint chat/findContacts, continuavam aparecendo:
Esses usuários eram retornados como se fossem contatos comuns, o que pode confundir o frontend ou outras integrações. ✅ Solução aplicada (a partir da linha 516 de channel.service.ts)Fizemos uma alteração pontual na função fetchContacts, a partir da linha 516, substituindo o retorno direto por um map() com enriquecimento dos dados: const contacts = await this.prismaRepository.contact.findMany(contactFindManyArgs);
return contacts.map(contact => {
const remoteJid = contact.remoteJid;
const isGroup = remoteJid.endsWith('@g.us');
const isSaved = !!contact.pushName || !!contact.profilePicUrl;
const type = isGroup ? 'group' : isSaved ? 'contact' : 'group_member';
return {
...contact,
isGroup,
isSaved,
type,
};
});Com essa mudança simples, agora cada contato traz: isGroup: se é grupo (@g.us) isSaved: se o contato está salvo (possui pushName ou profilePicUrl) type: com valores possíveis: contact, group, group_member 🎯 BenefíciosEssa solução: 🧼 É mais enxuta e de fácil manutenção |
Sorry, something went wrong.
|
irei fazer o commit com a solução proposta |
Sorry, something went wrong.
|
e muito obrigado 😀😀 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
fix(api): modifica fetchChats para trazer mensagens de contatos não salvos
Resolve issue #1376
Summary by Sourcery
Modify the fetchChats query to support retrieving messages from unsaved contacts by changing the base table and join strategy
Bug Fixes:
Enhancements: