+
Welcome to the community, ${member.name}!
+
+
You've joined the ${member.circle} circle
+ with a ${member.contributionTier}/month contribution.
+
+
Your next steps:
+
+ - Watch for your Slack invite (within 24 hours)
+ - Explore the resource library
+ - Introduce yourself in #introductions
+
+
+
Thank you for being part of our solidarity economy!
+
+
+
+
+ Questions? Reply to this email or reach out in Slack.
+
+
+ `
+})
\ No newline at end of file
diff --git a/server/models/member.js b/server/models/member.js
new file mode 100644
index 0000000..b8c0923
--- /dev/null
+++ b/server/models/member.js
@@ -0,0 +1,24 @@
+// 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)
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..307b213
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ // https://nuxt.com/docs/guide/concepts/typescript
+ "files": [],
+ "references": [
+ {
+ "path": "./.nuxt/tsconfig.app.json"
+ },
+ {
+ "path": "./.nuxt/tsconfig.server.json"
+ },
+ {
+ "path": "./.nuxt/tsconfig.shared.json"
+ },
+ {
+ "path": "./.nuxt/tsconfig.node.json"
+ }
+ ]
+}