widget chat 19
This commit is contained in:
parent
f9cdb6c2f0
commit
0b85779b55
@ -103,6 +103,15 @@ export async function GET(request: Request) {
|
|||||||
|
|
||||||
if (messagesData.messages && messagesData.messages.length > 0) {
|
if (messagesData.messages && messagesData.messages.length > 0) {
|
||||||
const lastMessage = messagesData.messages[0];
|
const lastMessage = messagesData.messages[0];
|
||||||
|
|
||||||
|
// 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({
|
messages.push({
|
||||||
...lastMessage,
|
...lastMessage,
|
||||||
roomName: subscription.fname || subscription.name || 'Direct Message',
|
roomName: subscription.fname || subscription.name || 'Direct Message',
|
||||||
@ -112,6 +121,21 @@ export async function GET(request: Request) {
|
|||||||
groupMentions: subscription.groupMentions || 0,
|
groupMentions: subscription.groupMentions || 0,
|
||||||
alert: subscription.alert || false
|
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 {
|
} else {
|
||||||
console.log(`No messages found for room: ${roomId}`);
|
console.log(`No messages found for room: ${roomId}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user