summaryrefslogtreecommitdiff
path: root/server/lib/schemas/Project.js
blob: f7b8de07cae7852777eddbafc1752f1853f437fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* jshint node: true */

var mongoose = require('mongoose'),
	_ = require('lodash'),
	config = require('../../../config.json'),
	util = require('../util');

var ProjectSchema = new mongoose.Schema({
	name: { type: String, required: true },
	slug: {
		type: String,
		required: true,
		validate: [function (val){
			val = util.slugify(val || this.name || "")
			if (! val.length) return false
			return true
		},"{PATH} name is required"]
	},
	description: {
		type: String,
		default: "",
	},
	privacy: {
		type: Boolean,
		default: false,
	},
	photo: {
		type: String,
	},
	rooms: [mongoose.Schema.Types.Mixed],
	walls: [mongoose.Schema.Types.Mixed],
	media: [mongoose.Schema.Types.Mixed],
	colors: mongoose.Schema.Types.Mixed,
	startPosition: mongoose.Schema.Types.Mixed,
	viewHeight: { type: Number },
	user_id: { type: mongoose.Schema.ObjectId, index: true },
	created_at: { type: Date },
	updated_at: { type: Date },
	featured: { type: Boolean, default: false },
});

module.exports = exports = mongoose.model('project', ProjectSchema);
exports.schema = ProjectSchema;