import { NextRequest, NextResponse } from 'next/server'; import { cookies } from 'next/headers'; const API_BASE_URL = process.env.API_BASE_URL || process.env.NEXT_PUBLIC_API_BASE_URL; export async function GET(request: NextRequest) { const cookieStore = await cookies(); const token = cookieStore.get('session_token')?.value; if (!token) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); } try { const res = await fetch(`${API_BASE_URL}/api/users/me`, { headers: { Authorization: `Bearer ${token}` }, }); if (!res.ok) { cookieStore.delete('session_token'); return NextResponse.json({ error: 'Session expired' }, { status: 401 }); } return NextResponse.json(await res.json()); } catch (err: any) { return NextResponse.json( { error: err?.message || 'Failed to fetch user' }, { status: 500 } ); } }