summaryrefslogtreecommitdiff
path: root/src/models/EventGroup.js
diff options
context:
space:
mode:
authorRaphael <raphaelkabo@hey.com>2023-05-12 17:03:13 +0100
committerGitHub <noreply@github.com>2023-05-12 17:03:13 +0100
commit67cf89fd0cfdf56c7e6d6d9bdf93d95d679ce2a1 (patch)
treec66bdf874a210997cd1d84942101773ba0175b20 /src/models/EventGroup.js
parenta75aad783c117aaef2ec19b6b434be0f0d7e57de (diff)
parent50688f573054f60aa7594672615f11713173c147 (diff)
Merge pull request #95 from lowercasename/typescript
Migrate to TypeScript and PNPM
Diffstat (limited to 'src/models/EventGroup.js')
-rwxr-xr-xsrc/models/EventGroup.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/models/EventGroup.js b/src/models/EventGroup.js
new file mode 100755
index 0000000..1a4ac64
--- /dev/null
+++ b/src/models/EventGroup.js
@@ -0,0 +1,57 @@
+const mongoose = require("mongoose");
+
+const Subscriber = new mongoose.Schema({
+ email: {
+ type: String,
+ trim: true,
+ },
+});
+
+const EventGroupSchema = new mongoose.Schema({
+ id: {
+ type: String,
+ required: true,
+ unique: true,
+ },
+ name: {
+ type: String,
+ trim: true,
+ required: true,
+ },
+ description: {
+ type: String,
+ trim: true,
+ required: true,
+ },
+ image: {
+ type: String,
+ trim: true,
+ },
+ url: {
+ type: String,
+ trim: true,
+ },
+ creatorEmail: {
+ type: String,
+ trim: true,
+ },
+ hostName: {
+ type: String,
+ trim: true,
+ },
+ editToken: {
+ type: String,
+ trim: true,
+ minlength: 32,
+ maxlength: 32,
+ },
+ firstLoad: {
+ type: Boolean,
+ trim: true,
+ default: true,
+ },
+ events: [{ type: mongoose.Schema.Types.ObjectId, ref: "Event" }],
+ subscribers: [Subscriber],
+});
+
+module.exports = mongoose.model("EventGroup", EventGroupSchema);