diff --git a/src/api/services/channel.service.ts b/src/api/services/channel.service.ts index 947f9c39..d1b6eed5 100644 --- a/src/api/services/channel.service.ts +++ b/src/api/services/channel.service.ts @@ -490,20 +490,23 @@ export class ChannelStartupService { } public async fetchContacts(query: Query) { - const remoteJid = query?.where?.remoteJid - ? query?.where?.remoteJid.includes('@') - ? query.where?.remoteJid - : createJid(query.where?.remoteJid) - : null; - - const where = { + const where: any = { instanceId: this.instanceId, }; - if (remoteJid) { + if (query?.where?.remoteJid) { + const remoteJid = query.where.remoteJid.includes('@') ? query.where.remoteJid : createJid(query.where.remoteJid); where['remoteJid'] = remoteJid; } + if (query?.where?.id) { + where['id'] = query.where.id; + } + + if (query?.where?.pushName) { + where['pushName'] = query.where.pushName; + } + const contactFindManyArgs: Prisma.ContactFindManyArgs = { where, }; diff --git a/src/validate/chat.schema.ts b/src/validate/chat.schema.ts index dba27995..7dae4453 100644 --- a/src/validate/chat.schema.ts +++ b/src/validate/chat.schema.ts @@ -195,8 +195,9 @@ export const contactValidateSchema: JSONSchema7 = { _id: { type: 'string', minLength: 1 }, pushName: { type: 'string', minLength: 1 }, id: { type: 'string', minLength: 1 }, + remoteJid: { type: 'string', minLength: 1 }, }, - ...isNotEmpty('_id', 'id', 'pushName'), + ...isNotEmpty('_id', 'id', 'pushName', 'remoteJid'), }, }, };