From f28d8f4aac3f6411d43ac81a70bfebe5e61e96c7 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sat, 7 Jun 2014 04:50:31 -0400 Subject: arrange edit project/profile modals --- server/lib/schemas/Project.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 server/lib/schemas/Project.js (limited to 'server/lib/schemas/Project.js') diff --git a/server/lib/schemas/Project.js b/server/lib/schemas/Project.js new file mode 100644 index 0000000..a0382b3 --- /dev/null +++ b/server/lib/schemas/Project.js @@ -0,0 +1,38 @@ +/* jshint node: true */ + +var NONALPHANUMERICS_REGEX = new RegExp('[^-_a-zA-Z0-9]', 'g') + +var mongoose = require('mongoose'), + _ = require('lodash'), + config = require('../../../config.json'); + +var ProjectSchema = new mongoose.Schema({ + name: { type: String, required: true }, + slug: { + type: String, + required: true, + validate: [function (val){ + val = (val || this.displayName || "").replace(/\s/g,"-").replace(NONALPHANUMERICS_REGEX, '-').replace(/-+/g,"-") + if (! val.length) return false + return true + },"{PATH} name is required"] + }, + privacy: { + type: Boolean, + default: false, + }, + photo: { + type: String, + }, + about: { + type: String, + default: "" + }, + user_id: { type: mongoose.Schema.ObjectId, index: true }, + created_at: { type: Date }, + updated_at: { type: Date }, +}); + + +module.exports = exports = mongoose.model('project', ProjectSchema); +exports.schema = ProjectSchema; -- cgit v1.2.3-70-g09d2