Guest User

model user

a guest
Jul 18th, 2016
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. var mongoose = require('mongoose');
  2. var bcrypt = require('bcryptjs');
  3.  
  4. //User schema
  5. var UserSchema = mongoose.Schema({
  6. login:{
  7. type:String,
  8. index:true
  9. },
  10. password:{
  11. type:String
  12. },
  13. email:{
  14. type:String
  15. }
  16. });
  17.  
  18. var User = module.exports = mongoose.model('User',UserSchema);
  19.  
  20. module.exports.createUser = function(newUser, callback){
  21. bcrypt.genSalt(10, function(err, salt) {
  22. bcrypt.hash(newUser.password, salt, function(err, hash) {
  23. newUser.password = hash;
  24. newUser.save(callback);
  25. });
  26. });
  27. }
  28.  
  29. module.exports.test = function(login, callback){
  30. User.find( {login : login}, callback);
  31. }
  32.  
  33. module.exports.getUserByEmail = function(email, callback){
  34. var query = {email: email};
  35. User.findOne(query,callback);
  36. }
  37.  
  38. module.exports.getUserById = function(id, callback){
  39. User.findById(id,callback);
  40. }
  41.  
  42. module.exports.getUserByUsername = function(login, callback){
  43. console.log("login "+login);
  44. var query = {login: login};
  45. User.findOne(query, callback);
  46. }
  47.  
  48. module.exports.comparePassword = function(candidatePassword,hash, callback){
  49. bcrypt.compare(candidatePassword, hash, function(err, isMatch) {
  50. if(err){ throw err };
  51. callback(null, isMatch);
  52. });
  53. }
Add Comment
Please, Sign In to add comment