Compare commits

...

5 Commits

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;
} }