import Member from '../../models/member.js' import { connectDB } from '../../utils/mongoose.js' import jwt from 'jsonwebtoken' export default defineEventHandler(async (event) => { try { // TODO: Temporarily disabled auth for testing - enable when authentication is set up // const token = getCookie(event, 'auth-token') || getHeader(event, 'authorization')?.replace('Bearer ', '') // if (!token) { // throw createError({ // statusCode: 401, // statusMessage: 'Authentication required' // }) // } // const config = useRuntimeConfig() // jwt.verify(token, config.jwtSecret) const body = await readBody(event) // Validate required fields if (!body.name || !body.email || !body.circle || !body.contributionTier) { throw createError({ statusCode: 400, statusMessage: 'Missing required fields' }) } await connectDB() // Check if member already exists const existingMember = await Member.findOne({ email: body.email }) if (existingMember) { throw createError({ statusCode: 409, statusMessage: 'Member with this email already exists' }) } const newMember = new Member({ name: body.name, email: body.email, circle: body.circle, contributionTier: body.contributionTier, slackInvited: false }) const savedMember = await newMember.save() return savedMember } catch (error) { if (error.statusCode) throw error throw createError({ statusCode: 500, statusMessage: 'Failed to create member' }) } })