From 98efc10b11c533711599bfd9b72eedeca56d4b88 Mon Sep 17 00:00:00 2001 From: Lucas Batista Date: Wed, 16 Oct 2024 11:24:16 -0300 Subject: [PATCH 1/2] fix baileys contact update and insert --- .../services/channels/whatsapp.baileys.service.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api/services/channels/whatsapp.baileys.service.ts b/src/api/services/channels/whatsapp.baileys.service.ts index 9b823a9b..23c66198 100644 --- a/src/api/services/channels/whatsapp.baileys.service.ts +++ b/src/api/services/channels/whatsapp.baileys.service.ts @@ -867,7 +867,6 @@ export class BaileysStartupService extends ChannelStartupService { 'contacts.update': async (contacts: Partial[], database: Database) => { this.logger.verbose('Event received: contacts.update'); - this.logger.verbose('Verifying if contacts exists in database to update'); const contactsRaw: ContactRaw[] = []; for await (const contact of contacts) { @@ -882,8 +881,9 @@ export class BaileysStartupService extends ChannelStartupService { this.logger.verbose('Sending data to webhook in event CONTACTS_UPDATE'); this.sendDataWebhook(Events.CONTACTS_UPDATE, contactsRaw); + //REMOVING DUE TO CREATING NULL CONTACTS ( ADDING FILTER ) this.logger.verbose('Updating contacts in database'); - this.repository.contact.update(contactsRaw, this.instance.name, database.SAVE_DATA.CONTACTS); + this.repository.contact.update(contactsRaw.filter(contact => contact.pushName), this.instance.name, database.SAVE_DATA.CONTACTS); }, }; @@ -1052,7 +1052,7 @@ export class BaileysStartupService extends ChannelStartupService { settings: SettingsRaw, ) => { try { - this.logger.verbose('Event received: messages.upsert'); + this.logger.verbose('Event received: messages.upsert'); for (const received of messages) { if ( this.localChatwoot.enabled && @@ -1255,10 +1255,10 @@ export class BaileysStartupService extends ChannelStartupService { this.logger.verbose('Inserting contact in database'); - if (received?.key?.fromMe === true) { + if (received?.key?.fromMe === true) contactRaw.pushName = null; - } - this.repository.contact.insert([contactRaw], this.instance.name, database.SAVE_DATA.CONTACTS); + if (contactRaw.pushName) + this.repository.contact.insert([contactRaw], this.instance.name, database.SAVE_DATA.CONTACTS); } } catch (error) { this.logger.error(error); From 5a0ea663a3378201ba7691bda480deb06947452e Mon Sep 17 00:00:00 2001 From: Lucas Batista Date: Wed, 16 Oct 2024 12:05:47 -0300 Subject: [PATCH 2/2] fix update on db --- src/api/services/channels/whatsapp.baileys.service.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/api/services/channels/whatsapp.baileys.service.ts b/src/api/services/channels/whatsapp.baileys.service.ts index 23c66198..d3843d9d 100644 --- a/src/api/services/channels/whatsapp.baileys.service.ts +++ b/src/api/services/channels/whatsapp.baileys.service.ts @@ -1232,6 +1232,10 @@ export class BaileysStartupService extends ChannelStartupService { owner: this.instance.name, }; + if (received?.key?.fromMe === true){ + contactRaw.pushName = null + } + this.logger.verbose('Sending data to webhook in event CONTACTS_UPDATE'); this.sendDataWebhook(Events.CONTACTS_UPDATE, contactRaw); @@ -1244,7 +1248,9 @@ export class BaileysStartupService extends ChannelStartupService { } this.logger.verbose('Updating contact in database'); - await this.repository.contact.update([contactRaw], this.instance.name, database.SAVE_DATA.CONTACTS); + + if(contactRaw.pushName) + await this.repository.contact.update([contactRaw], this.instance.name, database.SAVE_DATA.CONTACTS); return; } @@ -1257,7 +1263,7 @@ export class BaileysStartupService extends ChannelStartupService { if (received?.key?.fromMe === true) contactRaw.pushName = null; - if (contactRaw.pushName) + this.repository.contact.insert([contactRaw], this.instance.name, database.SAVE_DATA.CONTACTS); } } catch (error) {