llm-node
Version:
Legal Lawyer Manager (LLM)
55 lines (48 loc) • 1.45 kB
JavaScript
// modelos/user.js
// load the things we need
var mongoose = require('mongoose');
//var bcrypt = require('bcrypt-nodejs');
//var bcrypt = require('bcrypt');
var bcrypt = require('./bcrypt-nodejs.js');
// define the schema for our user model
var userSchema = mongoose.Schema({
local : {
email : String,
password : String,
},
facebook : {
id : String,
token : String,
email : String,
name : String
},
twitter : {
id : String,
token : String,
displayName : String,
username : String
},
google : {
id : String,
token : String,
email : String,
name : String
},
linkedin : {
id : String,
token : String,
email : String,
name : String
}
});
// methods ======================
// generating a hash
userSchema.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};
// checking if password is valid
userSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
// create the model for users and expose it to our app
module.exports = mongoose.model('User', userSchema);