Enhance UI and functionality: Update main page layout, add contribution options in join form, and improve member dashboard display. Refactor API endpoints for member creation and login.

This commit is contained in:
Jennie Robinson Faber 2025-08-26 18:21:52 +01:00
parent 3ad127ed78
commit 6e7e27ac4e
8 changed files with 885 additions and 44 deletions

View file

@ -1,6 +1,6 @@
// server/api/auth/login.post.js
import jwt from 'jsonwebtoken'
import Member from '~/server/models/member'
import Member from '../../models/member'
export default defineEventHandler(async (event) => {
const { email } = await readBody(event)

View file

@ -1,25 +1,17 @@
// server/api/members/create.post.js
import Member from '../../models/member'
// server/models/member.js
import mongoose from 'mongoose'
const memberSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
name: { type: String, required: true },
circle: {
type: String,
enum: ['community', 'founder', 'practitioner'],
required: true
},
contributionTier: {
type: String,
enum: ['0', '5', '15', '30', '50'],
required: true
},
helcimCustomerId: String,
helcimSubscriptionId: String,
slackInvited: { type: Boolean, default: false },
createdAt: { type: Date, default: Date.now },
lastLogin: Date
})
export default mongoose.model('Member', memberSchema)
export default defineEventHandler(async (event) => {
const body = await readBody(event)
try {
const member = new Member(body)
await member.save()
return { success: true, member }
} catch (error) {
throw createError({
statusCode: 400,
statusMessage: error.message
})
}
})

View file

@ -21,4 +21,5 @@ const memberSchema = new mongoose.Schema({
lastLogin: Date
})
export default mongoose.model('Member', memberSchema)
// Check if model already exists to prevent re-compilation in development
export default mongoose.models.Member || mongoose.model('Member', memberSchema)