mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-24 17:38:40 -06:00
Merge pull request #1743 from foqc/foqc/develop
Some checks are pending
Build Docker image / Build and Deploy (push) Waiting to run
Some checks are pending
Build Docker image / Build and Deploy (push) Waiting to run
Add endpoint to retrieve chat data by remoteJid
This commit is contained in:
commit
9b7ca4bfb7
@ -70,6 +70,10 @@ export class ChatController {
|
||||
return await this.waMonitor.waInstances[instanceName].fetchChats(query);
|
||||
}
|
||||
|
||||
public async findChatByRemoteJid({ instanceName }: InstanceDto, remoteJid: string) {
|
||||
return await this.waMonitor.waInstances[instanceName].findChatByRemoteJid(remoteJid);
|
||||
}
|
||||
|
||||
public async sendPresence({ instanceName }: InstanceDto, data: SendPresenceDto) {
|
||||
return await this.waMonitor.waInstances[instanceName].sendPresence(data);
|
||||
}
|
||||
|
@ -191,6 +191,16 @@ export class ChatRouter extends RouterBroker {
|
||||
|
||||
return res.status(HttpStatus.OK).json(response);
|
||||
})
|
||||
.get(this.routerPath('findChatByRemoteJid'), ...guards, async (req, res) => {
|
||||
const instance = req.params as unknown as InstanceDto;
|
||||
const { remoteJid } = req.query as unknown as { remoteJid: string };
|
||||
if (!remoteJid) {
|
||||
return res.status(HttpStatus.BAD_REQUEST).json({ error: 'remoteJid is a required query parameter' });
|
||||
}
|
||||
const response = await chatController.findChatByRemoteJid(instance, remoteJid);
|
||||
|
||||
return res.status(HttpStatus.OK).json(response);
|
||||
})
|
||||
// Profile routes
|
||||
.post(this.routerPath('fetchBusinessProfile'), ...guards, async (req, res) => {
|
||||
const response = await this.dataValidate<ProfilePictureDto>({
|
||||
|
@ -696,6 +696,16 @@ export class ChannelStartupService {
|
||||
});
|
||||
}
|
||||
|
||||
public async findChatByRemoteJid(remoteJid: string) {
|
||||
if (!remoteJid) return null;
|
||||
return await this.prismaRepository.chat.findFirst({
|
||||
where: {
|
||||
instanceId: this.instanceId,
|
||||
remoteJid: remoteJid,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
public async fetchChats(query: any) {
|
||||
const remoteJid = query?.where?.remoteJid
|
||||
? query?.where?.remoteJid.includes('@')
|
||||
|
Loading…
Reference in New Issue
Block a user