mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-17 19:37:02 +00:00
fix: unread messages count no working when fast reply
This commit is contained in:
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
@@ -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}`
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user