widget chat 19
This commit is contained in:
parent
f9cdb6c2f0
commit
0b85779b55
@ -103,15 +103,39 @@ export async function GET(request: Request) {
|
||||
|
||||
if (messagesData.messages && messagesData.messages.length > 0) {
|
||||
const lastMessage = messagesData.messages[0];
|
||||
messages.push({
|
||||
...lastMessage,
|
||||
roomName: subscription.fname || subscription.name || 'Direct Message',
|
||||
roomType: subscription.t,
|
||||
unread: subscription.unread || 0,
|
||||
userMentions: subscription.userMentions || 0,
|
||||
groupMentions: subscription.groupMentions || 0,
|
||||
alert: subscription.alert || false
|
||||
});
|
||||
|
||||
// For direct messages, check if the room ID contains the user's ID
|
||||
if (subscription.t === 'd') {
|
||||
// Extract the other user's ID from the room ID
|
||||
const roomIdParts = subscription.rid.split(session.rocketChatUserId);
|
||||
const otherUserId = roomIdParts[0] || roomIdParts[1];
|
||||
|
||||
// Only include messages where the user is either the sender or the recipient
|
||||
if (lastMessage.u._id === session.rocketChatUserId || lastMessage.u._id === otherUserId) {
|
||||
messages.push({
|
||||
...lastMessage,
|
||||
roomName: subscription.fname || subscription.name || 'Direct Message',
|
||||
roomType: subscription.t,
|
||||
unread: subscription.unread || 0,
|
||||
userMentions: subscription.userMentions || 0,
|
||||
groupMentions: subscription.groupMentions || 0,
|
||||
alert: subscription.alert || false
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// For channels and groups, only include messages where the user is the sender
|
||||
if (lastMessage.u._id === session.rocketChatUserId) {
|
||||
messages.push({
|
||||
...lastMessage,
|
||||
roomName: subscription.fname || subscription.name || 'Direct Message',
|
||||
roomType: subscription.t,
|
||||
unread: subscription.unread || 0,
|
||||
userMentions: subscription.userMentions || 0,
|
||||
groupMentions: subscription.groupMentions || 0,
|
||||
alert: subscription.alert || false
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(`No messages found for room: ${roomId}`);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user