import jwt from 'jsonwebtoken' import Member from '../../models/member.js' import { connectDB } from '../../utils/mongoose.js' export default defineEventHandler(async (event) => { await connectDB() const token = getCookie(event, 'auth-token') console.log('Auth check - token found:', !!token) if (!token) { console.log('No auth token found in cookies') throw createError({ statusCode: 401, statusMessage: 'Not authenticated' }) } try { const decoded = jwt.verify(token, process.env.JWT_SECRET) const member = await Member.findById(decoded.memberId).select('-__v') if (!member) { throw createError({ statusCode: 404, statusMessage: 'Member not found' }) } return { id: member._id, email: member.email, name: member.name, circle: member.circle, contributionTier: member.contributionTier, membershipLevel: `${member.circle}-${member.contributionTier}` } } catch (err) { console.error('Token verification error:', err) throw createError({ statusCode: 401, statusMessage: 'Invalid or expired token' }) } })