widget parole 15
This commit is contained in:
parent
ec604cf76f
commit
49b5e2da30
@ -154,13 +154,16 @@ export async function GET(request: Request) {
|
|||||||
|
|
||||||
// Fetch messages using admin token
|
// Fetch messages using admin token
|
||||||
for (const subscription of userSubscriptions) {
|
for (const subscription of userSubscriptions) {
|
||||||
if (messages.length >= 6 || processedRooms.has(subscription._id)) continue;
|
if (messages.length >= 7 || processedRooms.has(subscription._id)) continue;
|
||||||
processedRooms.add(subscription._id);
|
processedRooms.add(subscription._id);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// Determine the correct endpoint based on room type
|
||||||
|
const endpoint = subscription.t === 'c' ? 'channels.messages' : 'im.messages';
|
||||||
|
|
||||||
// Get the latest messages from the room
|
// Get the latest messages from the room
|
||||||
const messagesResponse = await fetch(
|
const messagesResponse = await fetch(
|
||||||
`${baseUrl}/api/v1/channels.messages?roomId=${subscription.rid}&count=1`, {
|
`${baseUrl}/api/v1/${endpoint}?roomId=${subscription.rid}&count=1`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: adminHeaders
|
headers: adminHeaders
|
||||||
});
|
});
|
||||||
@ -193,7 +196,8 @@ export async function GET(request: Request) {
|
|||||||
roomType: subscription.t,
|
roomType: subscription.t,
|
||||||
unread: subscription.unread || 0,
|
unread: subscription.unread || 0,
|
||||||
userMentions: subscription.userMentions || 0,
|
userMentions: subscription.userMentions || 0,
|
||||||
alert: subscription.alert || false
|
alert: subscription.alert || false,
|
||||||
|
lastSeen: subscription.ls
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -202,9 +206,9 @@ export async function GET(request: Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort messages by timestamp (newest first) and limit to 6
|
// Sort messages by timestamp (newest first) and limit to 7
|
||||||
messages.sort((a, b) => new Date(b.ts).getTime() - new Date(a.ts).getTime());
|
messages.sort((a, b) => new Date(b.ts).getTime() - new Date(a.ts).getTime());
|
||||||
const limitedMessages = messages.slice(0, 6);
|
const limitedMessages = messages.slice(0, 7);
|
||||||
|
|
||||||
return NextResponse.json({ messages: limitedMessages }, { status: 200 });
|
return NextResponse.json({ messages: limitedMessages }, { status: 200 });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user