diff options
| author | Raphael Kabo <mail@raphaelkabo.com> | 2019-09-30 13:29:32 +0100 | 
|---|---|---|
| committer | Raphael Kabo <mail@raphaelkabo.com> | 2019-09-30 13:29:32 +0100 | 
| commit | eddfe0389047ac1df5a8194d36c3bde1fcc05866 (patch) | |
| tree | 353c2cd8b3615905b79964cea5feecf60919d608 /models | |
| parent | 8ff6e9cdf8bc3f92541704c8b0e8de1c58f66ca2 (diff) | |
Event group functionality
Diffstat (limited to 'models')
| -rwxr-xr-x | models/Event.js | 81 | ||||
| -rwxr-xr-x | models/EventGroup.js | 49 | 
2 files changed, 90 insertions, 40 deletions
diff --git a/models/Event.js b/models/Event.js index 43af171..3c0bb8c 100755 --- a/models/Event.js +++ b/models/Event.js @@ -19,7 +19,7 @@ const ReplySchema = new mongoose.Schema({  	id: {  		type: String,  		required: true, -    unique: true, +		unique: true,  		sparse: true  	},  	author: { @@ -43,7 +43,7 @@ const CommentSchema = new mongoose.Schema({  	id: {  		type: String,  		required: true, -    unique: true, +		unique: true,  		sparse: true  	},  	author: { @@ -68,37 +68,37 @@ const EventSchema = new mongoose.Schema({  	id: {  		type: String,  		required: true, -    unique: true +		unique: true  	},  	type: { -    type: String, -    trim: true, +		type: String, +		trim: true,  		required: true -  }, -  name: { -    type: String, -    trim: true, +	}, +	name: { +		type: String, +		trim: true,  		required: true -  }, -  location: { -    type: String, -    trim: true, +	}, +	location: { +		type: String, +		trim: true,  		required: true -  }, +	},  	start: { // Stored as a UTC timestamp -    type: Date, -    trim: true, +		type: Date, +		trim: true,  		required: true -  }, +	},  	end: { // Stored as a UTC timestamp -    type: Date, -    trim: true, +		type: Date, +		trim: true,  		required: true -  }, -  timezone: { +	}, +	timezone: {  		type: String,  		default: 'Etc/UTC' -  }, +	},  	description: {  		type: String,  		trim: true, @@ -121,34 +121,35 @@ const EventSchema = new mongoose.Schema({  		trim: true  	},  	viewPassword: { -    type: String, -    trim: true -  }, +		type: String, +		trim: true +	},  	editPassword: { -    type: String, -    trim: true -  }, +		type: String, +		trim: true +	},  	editToken: { -    type: String, -    trim: true, +		type: String, +		trim: true,  		minlength: 32,  		maxlength: 32 -  }, +	}, +	eventGroup: { type: mongoose.Schema.Types.ObjectId, ref: 'EventGroup' },  	usersCanAttend: { -    type: Boolean, -    trim: true, +		type: Boolean, +		trim: true,  		default: false -  }, +	},  	showUsersList: { -    type: Boolean, -    trim: true, +		type: Boolean, +		trim: true,  		default: false -  }, +	},  	usersCanComment: { -    type: Boolean, -    trim: true, +		type: Boolean, +		trim: true,  		default: false -  }, +	},  	firstLoad: {  		type: Boolean,  		trim: true, diff --git a/models/EventGroup.js b/models/EventGroup.js new file mode 100755 index 0000000..336074c --- /dev/null +++ b/models/EventGroup.js @@ -0,0 +1,49 @@ +const mongoose = require('mongoose'); + +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' }] +}); + +module.exports = mongoose.model('EventGroup', EventGroupSchema);  | 
