summaryrefslogtreecommitdiff
path: root/server/lib/schemas
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/schemas')
-rw-r--r--server/lib/schemas/Project.js38
-rw-r--r--server/lib/schemas/User.js23
2 files changed, 46 insertions, 15 deletions
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;
diff --git a/server/lib/schemas/User.js b/server/lib/schemas/User.js
index ef8fef6..d78bfd2 100644
--- a/server/lib/schemas/User.js
+++ b/server/lib/schemas/User.js
@@ -10,7 +10,7 @@ var UserSchema = new mongoose.Schema({
twitter_id: String,
facebook_id: String,
- displayName: String,
+ displayName: { type: String, default: "" },
username: {
type: String,
required: true,
@@ -36,13 +36,10 @@ var UserSchema = new mongoose.Schema({
return true
}, "{PATH} is not an acceptable name"]
},
- email: {
- type: String,
- default: "",
- },
+ email: { type: String, efault: "" },
emailVerified: {
type: Boolean,
- default: false,
+ default: false,
},
password: {
type: String,
@@ -51,15 +48,11 @@ var UserSchema = new mongoose.Schema({
return true
}, "{PATH} is not an acceptable password"]
},
- photo: {
- type: String,
- },
- bio: {
- type: String,
- default: ""
- },
- website: String,
- twitterName: String,
+ location: { type: String, default: "" },
+ photo: { type: String, default: "" },
+ bio: { type: String, default: "" },
+ website: { type: String, default: "" },
+ twitterName: { type: String, default: "" },
isAdmin: { type: Boolean, default: false }
});