diff --git a/prisma/mysql-schema.prisma b/prisma/mysql-schema.prisma index ed82c7e7..d08bf897 100644 --- a/prisma/mysql-schema.prisma +++ b/prisma/mysql-schema.prisma @@ -114,6 +114,7 @@ model Session { model Chat { id String @id @default(cuid()) remoteJid String @db.VarChar(100) + name String? @db.VarChar(100) labels Json? @db.Json createdAt DateTime? @default(dbgenerated("CURRENT_TIMESTAMP")) @db.Timestamp updatedAt DateTime? @updatedAt @db.Timestamp diff --git a/prisma/postgresql-migrations/20240811021156_add_chat_name_column/migration.sql b/prisma/postgresql-migrations/20240811021156_add_chat_name_column/migration.sql new file mode 100644 index 00000000..79d7fc1f --- /dev/null +++ b/prisma/postgresql-migrations/20240811021156_add_chat_name_column/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Chat" ADD COLUMN "name" VARCHAR(100); diff --git a/prisma/postgresql-schema.prisma b/prisma/postgresql-schema.prisma index c245ed9d..fcd54b50 100644 --- a/prisma/postgresql-schema.prisma +++ b/prisma/postgresql-schema.prisma @@ -114,6 +114,7 @@ model Session { model Chat { id String @id @default(cuid()) remoteJid String @db.VarChar(100) + name String? @db.VarChar(100) labels Json? @db.JsonB createdAt DateTime? @default(now()) @db.Timestamp updatedAt DateTime? @updatedAt @db.Timestamp diff --git a/src/api/services/channel.service.ts b/src/api/services/channel.service.ts index d00ccd54..8d4cc7cf 100644 --- a/src/api/services/channel.service.ts +++ b/src/api/services/channel.service.ts @@ -1267,6 +1267,7 @@ export class ChannelStartupService { SELECT "Chat"."id", "Chat"."remoteJid", + "Chat"."name", "Chat"."labels", "Chat"."createdAt", "Chat"."updatedAt", @@ -1283,6 +1284,7 @@ export class ChannelStartupService { SELECT "Chat"."id", "Chat"."remoteJid", + "Chat"."name", "Chat"."labels", "Chat"."createdAt", "Chat"."updatedAt", diff --git a/src/api/services/channels/whatsapp.baileys.service.ts b/src/api/services/channels/whatsapp.baileys.service.ts index 392afa17..3cde5fc4 100644 --- a/src/api/services/channels/whatsapp.baileys.service.ts +++ b/src/api/services/channels/whatsapp.baileys.service.ts @@ -227,11 +227,16 @@ export class BaileysStartupService extends ChannelStartupService { this.client?.ws?.close(); - await this.prismaRepository.session.delete({ - where: { - sessionId: this.instanceId, - }, + const sessionExists = await this.prismaRepository.session.findFirst({ + where: { sessionId: this.instanceId }, }); + if (sessionExists) { + await this.prismaRepository.session.delete({ + where: { + sessionId: this.instanceId, + }, + }); + } } public async getProfileName() { @@ -717,7 +722,7 @@ export class BaileysStartupService extends ChannelStartupService { const chatsToInsert = chats .filter((chat) => !existingChatIdSet.has(chat.id)) - .map((chat) => ({ remoteJid: chat.id, instanceId: this.instanceId })); + .map((chat) => ({ remoteJid: chat.id, instanceId: this.instanceId, name: chat.name })); this.sendDataWebhook(Events.CHATS_UPSERT, chatsToInsert); @@ -749,10 +754,9 @@ export class BaileysStartupService extends ChannelStartupService { where: { instanceId: this.instanceId, remoteJid: chat.id, + name: chat.name, }, - data: { - remoteJid: chat.id, - }, + data: { remoteJid: chat.id }, }); } }, @@ -895,7 +899,7 @@ export class BaileysStartupService extends ChannelStartupService { } } - const chatsRaw: any[] = []; + const chatsRaw: { remoteJid: string; instanceId: string; name?: string }[] = []; const chatsRepository = new Set( ( await this.prismaRepository.chat.findMany({ @@ -912,18 +916,17 @@ export class BaileysStartupService extends ChannelStartupService { chatsRaw.push({ remoteJid: chat.id, instanceId: this.instanceId, + name: chat.name, }); } this.sendDataWebhook(Events.CHATS_SET, chatsRaw); if (this.configService.get('DATABASE').SAVE_DATA.HISTORIC) { - const chatsSaved = await this.prismaRepository.chat.createMany({ + await this.prismaRepository.chat.createMany({ data: chatsRaw, skipDuplicates: true, }); - - console.log('chatsSaved', chatsSaved); } const messagesRaw: any[] = []; @@ -982,12 +985,10 @@ export class BaileysStartupService extends ChannelStartupService { this.sendDataWebhook(Events.MESSAGES_SET, [...messagesRaw]); if (this.configService.get('DATABASE').SAVE_DATA.HISTORIC) { - const messagesSaved = await this.prismaRepository.message.createMany({ + await this.prismaRepository.message.createMany({ data: messagesRaw, skipDuplicates: true, }); - - console.log('messagesSaved', messagesSaved); } if ( diff --git a/src/api/services/channels/whatsapp.business.service.ts b/src/api/services/channels/whatsapp.business.service.ts index cd7ab4a6..d4e24765 100644 --- a/src/api/services/channels/whatsapp.business.service.ts +++ b/src/api/services/channels/whatsapp.business.service.ts @@ -300,7 +300,6 @@ export class BusinessStartupService extends ChannelStartupService { protected async messageHandle(received: any, database: Database, settings: any) { try { - console.log(received); let messageRaw: any; let pushName: any; @@ -983,7 +982,6 @@ export class BusinessStartupService extends ChannelStartupService { return messageRaw; } catch (error) { - console.log(error.response.data); this.logger.error(error); throw new BadRequestException(error.toString()); }