summaryrefslogtreecommitdiff
path: root/server/lib/schemas/Blueprint.js
blob: 666f0cfeabfce882b31ec4cbe01d20a23f07009e (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* jshint node: true */

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

var BlueprintSchema = new mongoose.Schema({
	type: {
		type: String,
		required: true
	},
	url: {
		type: String,
		required: true,
	},
	token: {
		type: String,
		default: ""
	},
	thumbnail: {
		type: String,
		default: ""
	},
	width: {
		type: Number,
		default: 0
	},
	height: {
		type: Number,
		default: 0
	},
	name: {
		type: String,
		default: ""
	},
	slug: {
		type: String,
		required: true,
		validate: [function (val){
			val = util.sanitize(val || this.displayName || "")
			if (! val.length) return false
			return true
		},"{PATH} name is required"]
	},
	description: {
		type: String,
		default: ""
	},
	tag: { type: String, default: "" },
	scale: { type: Number, default: 1.0 },
	
	widthDimension: { type: Number },
	heightDimension: { type: Number },
	units: { type: String },
	line: { type: String },

	shapes: [mongoose.Schema.Types.Mixed],
	startPosition: mongoose.Schema.Types.Mixed,

	user_id: { type: mongoose.Schema.ObjectId, index: true },
	created_at: { type: Date },
});

module.exports = exports = mongoose.model('blueprint', BlueprintSchema)
exports.schema = BlueprintSchema;