import { NextRequest, NextResponse } from 'next/server'; import jwt from 'jsonwebtoken'; import prisma from '@/lib/prisma'; const JWT_SECRET = process.env.JWT_SECRET || 'your-secret-key-change-in-production'; export async function GET(request: NextRequest) { try { const token = request.cookies.get('auth_token')?.value; if (!token) { return NextResponse.json( { error: 'Não autenticado' }, { status: 401 } ); } // Verify JWT token const decoded = jwt.verify(token, JWT_SECRET) as { userId: string }; // Get user from database const user = await prisma.user.findUnique({ where: { id: decoded.userId }, select: { id: true, email: true, name: true, avatar: true, createdAt: true, }, }); if (!user) { return NextResponse.json( { error: 'Usuário não encontrado' }, { status: 404 } ); } return NextResponse.json({ user }); } catch (error) { console.error('Error fetching user data:', error); return NextResponse.json( { error: 'Erro ao buscar dados do usuário' }, { status: 500 } ); } }