This commit is contained in:
Fabian Quijosaca
2025-07-14 13:52:34 -04:00
committed by GitHub

View File

@@ -740,21 +740,21 @@ export class ChannelStartupService {
"Chat"."createdAt" + INTERVAL '24 hours' as "windowExpires", "Chat"."createdAt" + INTERVAL '24 hours' as "windowExpires",
"Chat"."unreadMessages" as "unreadMessages", "Chat"."unreadMessages" as "unreadMessages",
CASE WHEN "Chat"."createdAt" + INTERVAL '24 hours' > NOW() THEN true ELSE false END as "windowActive", CASE WHEN "Chat"."createdAt" + INTERVAL '24 hours' > NOW() THEN true ELSE false END as "windowActive",
"Message"."id" AS lastMessageId, "Message"."id" AS "lastMessageId",
"Message"."key" AS lastMessage_key, "Message"."key" AS "lastMessage_key",
CASE CASE
WHEN "Message"."key"->>'fromMe' = 'true' THEN 'Você' WHEN "Message"."key"->>'fromMe' = 'true' THEN 'Você'
ELSE "Message"."pushName" ELSE "Message"."pushName"
END AS lastMessagePushName, END AS "lastMessagePushName",
"Message"."participant" AS lastMessageParticipant, "Message"."participant" AS "lastMessageParticipant",
"Message"."messageType" AS lastMessageMessageType, "Message"."messageType" AS "lastMessageMessageType",
"Message"."message" AS lastMessageMessage, "Message"."message" AS "lastMessageMessage",
"Message"."contextInfo" AS lastMessageContextInfo, "Message"."contextInfo" AS "lastMessageContextInfo",
"Message"."source" AS lastMessageSource, "Message"."source" AS "lastMessageSource",
"Message"."messageTimestamp" AS lastMessageMessageTimestamp, "Message"."messageTimestamp" AS "lastMessageMessageTimestamp",
"Message"."instanceId" AS lastMessageInstanceId, "Message"."instanceId" AS "lastMessageInstanceId",
"Message"."sessionId" AS lastMessageSessionId, "Message"."sessionId" AS "lastMessageSessionId",
"Message"."status" AS lastMessageStatus "Message"."status" AS "lastMessageStatus"
FROM "Message" FROM "Message"
LEFT JOIN "Contact" ON "Contact"."remoteJid" = "Message"."key"->>'remoteJid' AND "Contact"."instanceId" = "Message"."instanceId" LEFT JOIN "Contact" ON "Contact"."remoteJid" = "Message"."key"->>'remoteJid' AND "Contact"."instanceId" = "Message"."instanceId"
LEFT JOIN "Chat" ON "Chat"."remoteJid" = "Message"."key"->>'remoteJid' AND "Chat"."instanceId" = "Message"."instanceId" LEFT JOIN "Chat" ON "Chat"."remoteJid" = "Message"."key"->>'remoteJid' AND "Chat"."instanceId" = "Message"."instanceId"
@@ -771,44 +771,38 @@ export class ChannelStartupService {
if (results && isArray(results) && results.length > 0) { if (results && isArray(results) && results.length > 0) {
const mappedResults = results.map((contact) => { const mappedResults = results.map((contact) => {
const lastMessage = contact.lastmessageid const lastMessage = contact.lastMessageId
? { ? {
id: contact.lastmessageid, id: contact.lastMessageId,
key: contact.lastmessage_key, key: contact.lastMessage_key,
pushName: contact.lastmessagepushname, pushName: contact.lastMessagePushName,
participant: contact.lastmessageparticipant, participant: contact.lastMessageParticipant,
messageType: contact.lastmessagemessagetype, messageType: contact.lastMessageMessageType,
message: contact.lastmessagemessage, message: contact.lastMessageMessage,
contextInfo: contact.lastmessagecontextinfo, contextInfo: contact.lastMessageContextInfo,
source: contact.lastmessagesource, source: contact.lastMessageSource,
messageTimestamp: contact.lastmessagemessagetimestamp, messageTimestamp: contact.lastMessageMessageTimestamp,
instanceId: contact.lastmessageinstanceid, instanceId: contact.lastMessageInstanceId,
sessionId: contact.lastmessagesessionid, sessionId: contact.lastMessageSessionId,
status: contact.lastmessagestatus, status: contact.lastMessageStatus,
} }
: undefined; : undefined;
return { return {
id: contact.contactid || null, id: contact.contactId || null,
remoteJid: contact.remotejid, remoteJid: contact.remoteJid,
pushName: contact.pushname, pushName: contact.pushName,
profilePicUrl: contact.profilepicurl, profilePicUrl: contact.profilePicUrl,
updatedAt: contact.updatedat, updatedAt: contact.updatedAt,
windowStart: contact.windowstart, windowStart: contact.windowStart,
windowExpires: contact.windowexpires, windowExpires: contact.windowExpires,
windowActive: contact.windowactive, windowActive: contact.windowActive,
lastMessage: lastMessage ? this.cleanMessageData(lastMessage) : undefined, lastMessage: lastMessage ? this.cleanMessageData(lastMessage) : undefined,
unreadCount: contact.unreadMessages, unreadCount: contact.unreadMessages,
isSaved: !!contact.contactid, isSaved: !!contact.contactId,
}; };
}); });
if (query?.take && query?.skip) {
const skip = query.skip || 0;
const take = query.take || 20;
return mappedResults.slice(skip, skip + take);
}
return mappedResults; return mappedResults;
} }