1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- var mongoose = require('mongoose');
- var bcrypt = require('bcryptjs');
- var UserSchema = new mongoose.Schema({
- email: {
- type: String,
- required: true
- },
- password: {
- type: String,
- required: true
- },
- computes: {
- type: Number,
- default: 0
- },
- date: {
- type: Date,
- default: Date.now
- }
- });
- var User = module.exports = mongoose.model('User', UserSchema);
- module.exports.createUser = function (newUser, callback) {
- bcrypt.genSalt(10, function(err, salt) {
- bcrypt.hash(newUser.password, salt, function(err, hash) {
- newUser.password = hash;
- newUser.save(callback);
- });
- });
- }
- module.exports.getUserByEmail = function (email, callback) {
- var query = { email: email };
- User.findOne(query, callback);
- }
- module.exports.getUserById = function (id, callback) {
- User.findById(id, callback);
- }
- module.exports.comparePassword = function(candidatePassword, hash, callback) {
- bcrypt.compare(candidatePassword, hash, function(err, isMatch) {
- if(err) throw err;
- callback(null, isMatch);
- });
- }
- module.exports = User;
|