// server/api/members/create.post.js import Member from '../../models/member.js' import { connectDB } from '../../utils/mongoose.js' // Simple payment check function to avoid import issues const requiresPayment = (contributionValue) => contributionValue !== '0' export default defineEventHandler(async (event) => { // Ensure database is connected await connectDB() const body = await readBody(event) try { // Check if member already exists const existingMember = await Member.findOne({ email: body.email }) if (existingMember) { throw createError({ statusCode: 409, statusMessage: 'A member with this email already exists' }) } const member = new Member(body) await member.save() // TODO: Process payment with Helcim if not free tier if (requiresPayment(body.contributionTier)) { // Payment processing will be added here console.log('Payment processing needed for tier:', body.contributionTier) } // TODO: Send welcome email console.log('Welcome email should be sent to:', body.email) return { success: true, member } } catch (error) { if (error.statusCode) { throw error } throw createError({ statusCode: 400, statusMessage: error.message }) } })