Example #1
0
// initialize dependencies
require('./deck');
require('./user');

var app = require(global.approot + '/common/app'),
    solr = require(global.approot + '/common/solr'),
    SolrSync = require(global.approot + '/models/plugins/solr-sync'),
    SocialJob = require(global.approot + '/models/social-job');

var db = require(global.approot + '/common/database'),
    pictureSchema = new db.Schema(),
    locationSchema = new db.Schema(),
    editionSchema = new db.Schema({
        author:{
            type:db.Schema.ObjectId,
            ref:'User'
        },
        revision:{
            type:db.Schema.ObjectId,
            ref:'Revision'
        },
        createdAt:{
            type:Date,
            'default':Date.now
        }
    });

pictureSchema.plugin(require('./plugins/picture'));
pictureSchema.add({
    isCover:Boolean,
    sourceURL:String,
Example #2
0
 * the users logins
 */
var UserLoginLogSchema = new db.Schema({
  ip: String,
  createdAt: { type: Date, default: Date.now }
});

/**
 * UserMessagesSchema
 *
 * a message is for inner communication
 * between users
 */
var UserMessagesSchema = new db.Schema({
  content: String,
  read: {type: Boolean, default: false},
  author: { type: db.Schema.Types.ObjectId, ref: 'User' },
  createdAt: { type: Date, default: Date.now }
});

/**
 * a message can have followups
 */
UserMessagesSchema.add({
  followUps: [UserMessagesSchema]
});

/**
 * computes the user's full name
 * to display
 * in worst case, this is the user's email
 * address
Example #3
0
var mongoose = require(__("lib/database.js"));
var ObjectId = mongoose.Schema.ObjectId;
var hasher = require("hash-password-default");

var UserSchema = new mongoose.Schema({
    id:Number,
    firstname:{ type:String },
    lastname:{ type:String },
    email:{ type:String, unique:true},
    hash:{ type:String },
    bio:{ type:String }
});


UserSchema.virtual("password").get(function(){
    return this.hash;
});

UserSchema.virtual("password").set(function(password){
    this.hash = hasher.hashPassword(password);
});

module.exports = mongoose.model('User', UserSchema);