fix: unread messages count no working when fast reply

This commit is contained in:
canove
2021-01-08 13:22:08 -03:00
parent d532c69870
commit a12c9db731
3 changed files with 22 additions and 18 deletions

View File

@@ -42,6 +42,8 @@ export const store = async (req: Request, res: Response): Promise<Response> => {
const ticket = await ShowTicketService(ticketId);
await SetTicketMessagesAsRead(ticket);
if (medias) {
await Promise.all(
medias.map(async (media: Express.Multer.File) => {
@@ -52,8 +54,6 @@ export const store = async (req: Request, res: Response): Promise<Response> => {
await SendWhatsAppMessage({ body, ticket, quotedMsg });
}
await SetTicketMessagesAsRead(ticket);
return res.send();
};

View File

@@ -19,7 +19,9 @@ const SetTicketMessagesAsRead = async (ticket: Ticket): Promise<void> => {
try {
const wbot = await GetTicketWbot(ticket);
wbot.sendSeen(`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`);
await wbot.sendSeen(
`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`
);
} catch (err) {
logger.warn(
`Could not mark messages as read. Maybe whatsapp session disconnected? Err: ${err}`

View File

@@ -21,10 +21,12 @@ const FindOrCreateTicketService = async (
});
if (ticket) {
ticket.update({ unreadMessages });
await ticket.update({ unreadMessages });
return ticket;
}
if (!ticket && groupContact) {
if (groupContact) {
ticket = await Ticket.findOne({
where: {
contactId: groupContact.id
@@ -39,10 +41,10 @@ const FindOrCreateTicketService = async (
userId: null,
unreadMessages
});
}
}
if (!ticket && !groupContact) {
return ticket;
}
} else {
ticket = await Ticket.findOne({
where: {
updatedAt: {
@@ -60,20 +62,20 @@ const FindOrCreateTicketService = async (
userId: null,
unreadMessages
});
return ticket;
}
}
if (!ticket) {
const { id } = await Ticket.create({
contactId: groupContact ? groupContact.id : contact.id,
status: "pending",
isGroup: !!groupContact,
unreadMessages,
whatsappId
});
const { id } = await Ticket.create({
contactId: groupContact ? groupContact.id : contact.id,
status: "pending",
isGroup: !!groupContact,
unreadMessages,
whatsappId
});
ticket = await ShowTicketService(id);
}
ticket = await ShowTicketService(id);
return ticket;
};