25 lines
No EOL
749 B
JavaScript
25 lines
No EOL
749 B
JavaScript
// 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
|
|
})
|
|
|
|
// Check if model already exists to prevent re-compilation in development
|
|
export default mongoose.models.Member || mongoose.model('Member', memberSchema) |