import { NextRequest, NextResponse } from 'next/server'; import { jwtVerify } from 'jose'; import { prisma } from '@/lib/prisma'; const JWT_SECRET = new TextEncoder().encode( process.env.JWT_SECRET || 'your-secret-key-at-least-32-chars-long' ); export async function GET(request: NextRequest) { const token = request.cookies.get('token')?.value; if (!token) { return NextResponse.json({ user: null }, { status: 200 }); } try { const { payload } = await jwtVerify(token, JWT_SECRET); const userId = payload.userId as string; // Fetch fresh user data from database to get current settings const user = await prisma.user.findUnique({ where: { id: userId }, select: { id: true, username: true, accentColor: true, }, }); if (!user) { return NextResponse.json({ user: null }, { status: 200 }); } return NextResponse.json({ user }, { status: 200 }); } catch (error) { return NextResponse.json({ user: null }, { status: 200 }); } }