update widget token mail 16

This commit is contained in:
Alma 2025-04-10 00:13:18 +02:00
parent a5a9307fdf
commit 66b8f6bd54

View File

@ -131,9 +131,18 @@ export async function GET() {
return null;
}
// Choose the appropriate endpoint based on room type
const endpoint = subscription.t === 'd'
? 'im.messages'
: subscription.t === 'c'
? 'channels.messages'
: 'groups.messages';
console.log(`Fetching messages for room ${subscription.name} using endpoint ${endpoint}`);
// Get the most recent messages from the room
const messagesResponse = await fetch(
`https://parole.slm-lab.net/api/v1/rooms.get?roomId=${subscription.rid}`,
`https://parole.slm-lab.net/api/v1/${endpoint}?roomId=${subscription.rid}&count=1`,
{
headers: {
'X-Auth-Token': ROCKET_CHAT_TOKEN,
@ -144,25 +153,31 @@ export async function GET() {
);
if (!messagesResponse.ok) {
console.error('Failed to fetch room info:', {
console.error('Failed to fetch messages:', {
roomId: subscription.rid,
endpoint,
status: messagesResponse.status,
response: await messagesResponse.text().catch(() => 'Could not get response text')
});
return null;
}
const roomData = await messagesResponse.json();
const messagesData = await messagesResponse.json();
console.log(`Messages response for ${subscription.name}:`, {
count: messagesData.messages?.length,
success: messagesData.success
});
if (roomData.room?.lastMessage) {
if (messagesData.messages && messagesData.messages.length > 0) {
const message = messagesData.messages[0];
return {
...roomData.room.lastMessage,
roomName: subscription.name || roomData.room.fname || 'Direct Message',
...message,
roomName: subscription.fname || subscription.name || 'Direct Message',
roomType: subscription.t,
};
}
console.log('No last message found for room:', subscription.rid);
console.log('No messages found for room:', subscription.rid);
return null;
} catch (error) {
console.error('Error processing room:', subscription.rid, error);