/* jshint node: true */ var NONALPHANUMERICS_REGEX = new RegExp('[^-_a-zA-Z0-9]', 'g') var mongoose = require('mongoose'), _ = require('lodash'), config = require('../../../config.json'); var UserSchema = new mongoose.Schema({ twitter_id: String, displayName: String, username: { type: String, required: true, validate: [function (val) { val = val.replace(NONALPHANUMERICS_REGEX, "") this.username = val.toLowerCase() switch (val) { case 'login': case 'logout': case 'profile': case 'auth': case 'upload': case 'about': case 'settings': case 'assets': case 'admin': case 'terms': case '': return false } if (! this.displayName) { this.displayName = val; } return true }, "{PATH} is not an acceptable name"] }, email: { type: String, default: "", }, emailVerified: { type: Boolean, default: false, }, password: { type: String, validate: [function (val) { if (! val.length) return true return true }, "{PATH} is not an acceptable password"] }, photo: { type: String, required: true }, bio: { type: String, default: "" }, links: [ { type: String, default: "" } ], isAdmin: { type: Boolean, default: false } }); module.exports = exports = mongoose.model('user', UserSchema); exports.schema = UserSchema;