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, id: member._id, email: member.email, name: member.name, circle: member.circle, contributionTier: member.contributionTier, membershipLevel: `${member.circle}-${member.contributionTier}`, // Profile fields pronouns: member.pronouns, timeZone: member.timeZone, avatar: member.avatar, studio: member.studio, bio: member.bio, skills: member.skills, location: member.location, socialLinks: member.socialLinks, offering: member.offering, lookingFor: member.lookingFor, showInDirectory: member.showInDirectory, privacy: member.privacy, // Peer support peerSupport: member.peerSupport, }; } catch (err) { console.error("Token verification error:", err); throw createError({ statusCode: 401, statusMessage: "Invalid or expired token", }); } });