diff --git a/app/api/rocket-chat/messages/route.ts b/app/api/rocket-chat/messages/route.ts index 95c1cb19..24440eed 100644 --- a/app/api/rocket-chat/messages/route.ts +++ b/app/api/rocket-chat/messages/route.ts @@ -9,9 +9,13 @@ export async function GET() { return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); } - // Get the user's info from Rocket.Chat using their username + if (!session.user?.email) { + return NextResponse.json({ error: "No email found in session" }, { status: 400 }); + } + + // Get the user's info from Rocket.Chat using their email const userInfoResponse = await fetch( - `https://parole.slm-lab.net/api/v1/users.info?username=${session.user.username}`, + `https://parole.slm-lab.net/api/v1/users.info?email=${encodeURIComponent(session.user.email)}`, { method: 'GET', headers: { @@ -26,7 +30,7 @@ export async function GET() { console.error('Rocket.Chat user info error:', { status: userInfoResponse.status, statusText: userInfoResponse.statusText, - username: session.user.username, + email: session.user.email, }); return NextResponse.json( { error: "Failed to fetch user info" }, @@ -38,13 +42,16 @@ export async function GET() { const userId = userInfo.user._id; // Get the user's subscriptions (rooms they are in) - const subscriptionsResponse = await fetch('https://parole.slm-lab.net/api/v1/subscriptions.get', { - headers: { - 'X-Auth-Token': 'C_3ekrsgtsaU0sVQzpJ8aRSyMQjBIvcsmXVvBI8Wmgb', - 'X-User-Id': 'Tpuww59PJKsrGNQJB', - }, - cache: 'no-store', - }); + const subscriptionsResponse = await fetch( + `https://parole.slm-lab.net/api/v1/subscriptions.get?userId=${userId}`, + { + headers: { + 'X-Auth-Token': 'C_3ekrsgtsaU0sVQzpJ8aRSyMQjBIvcsmXVvBI8Wmgb', + 'X-User-Id': 'Tpuww59PJKsrGNQJB', + }, + cache: 'no-store', + } + ); if (!subscriptionsResponse.ok) { console.error('Rocket.Chat subscriptions error:', { @@ -80,7 +87,11 @@ export async function GET() { if (messageResponse.ok) { const messageData = await messageResponse.json(); - return messageData.message; + return { + ...messageData.message, + roomName: room.name || 'Direct Message', + roomType: room.t, + }; } return null; })