import { NextRequest, NextResponse } from 'next/server' import { prisma } from '@/lib/prisma' import { requireAuth, getUserSessions } from '@/lib/auth' export async function GET(request: NextRequest) { try { const user = await requireAuth() const sessions = await getUserSessions(user.id) // Parse deviceInfo JSON for each session const formattedSessions = sessions.map(session => ({ ...session, deviceInfo: session.deviceInfo ? JSON.parse(session.deviceInfo) : undefined, })) return NextResponse.json({ sessions: formattedSessions }, { status: 200 }) } catch (error) { console.error('Get sessions error:', error) if (error instanceof Error && error.message === 'Unauthorized') { return NextResponse.json( { error: 'Unauthorized' }, { status: 401 } ) } return NextResponse.json( { error: 'Failed to fetch sessions' }, { status: 500 } ) } }