Advertisement
Guest User

Untitled

a guest
Jul 17th, 2017
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. throw new mongoose.Error.OverwriteModelError(name);
  2. ^
  3. OverwriteModelError: Cannot overwrite `users` model once compiled.
  4.  
  5. const mongoose = require('mongoose');
  6. const bcrypt = require('bcryptjs');
  7. const config = require('../config/database');
  8.  
  9. //User Schema
  10. const UserSchema = mongoose.Schema({
  11. name: {
  12. type:String
  13. },
  14. email: {
  15. type:String,
  16. required:true
  17. },
  18. username: {
  19. type:String,
  20. required:true
  21. },
  22. password: {
  23. type:String,
  24. required:true
  25. }
  26. });
  27.  
  28. const users = module.exports = mongoose.model('users',UserSchema);
  29.  
  30. module.exports.getUserById = function(id,callback)
  31. {
  32. User.findById(id,callback);
  33. }
  34.  
  35. module.exports.getUserByUsername = function(username,callback){
  36. const query = {username: username}
  37. user.findOne(query,callback);
  38. }
  39. module.exports.addUser = function(newUser,callback){
  40. bcrypt.genSalt(10,(err,salt)=>{
  41. if(err)
  42. {
  43. throw err;
  44. }
  45. bcrypt.hash(newUser.password,salt,(err,hash)=>{
  46. newUser.password=hash;
  47. newUser.save(callback);
  48. });
  49. });
  50. }
  51.  
  52. const express = require('express');
  53. const router = express.Router();
  54. const passport = require('passport');
  55. const jwt = require('jsonwebtoken');
  56. var Log = require('log')
  57. , log = new Log('info');
  58.  
  59. const User = require('../Model/users');
  60. //const ap = express();
  61.  
  62. //Register router
  63. router.post('/register',(req,res,next)=>{
  64. log.info('entering register');
  65. let newUser = new User({
  66. name:req.body.name,
  67. email:req.body.email,
  68. username:req.body.username,
  69. password:req.body.password
  70. });
  71. User.addUser(newUser,(err,user)=>{
  72. log.info("inside add user");
  73. if(err){
  74. log.error('error while registaring ' + err);
  75. res.json({success:false,msg:'failed to register user'});
  76. }
  77. else {
  78. res.json({sucess:true,msg:'user registered succefully'});
  79. }
  80. })
  81. });
  82. router.get('/authenticate',(req,res,next)=>{
  83. res.send("authenticated");
  84. });
  85. router.get('/profile',(req,res,next)=>{
  86. res.send('profile');
  87. });
  88. module.exports=router;
  89.  
  90. const JwtStrategy = require('passport-jwt').Strategy;
  91. const ExtractJwt = require('passport-jwt').ExtractJwt;
  92. const User = require('../model/users');
  93. const config = require('../config/database');
  94.  
  95. module.exports = function(passport){
  96. let opts = {};
  97. opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
  98. opts.secretOrKey = config.secret;
  99. passport.use(new JwtStrategy(opts,(jwt_payload,done)=>{
  100. User.getUserById(jwt_payload._id,(err,user)=>{
  101. if(err)
  102. {
  103. return done(err,false);
  104. }
  105. if(user){
  106. return done(null,user);
  107. }
  108. else {
  109. return done(null,false);
  110. }
  111. })
  112. }));
  113. }
  114.  
  115. const mongoose = require('mongoose');
  116. const bcrypt = require('bcryptjs');
  117. const config = require('../config/database');
  118.  
  119. //User Schema
  120. const UserSchema = mongoose.Schema({
  121. name: {
  122. type:String
  123. },
  124. email: {
  125. type:String,
  126. required:true
  127. },
  128. username: {
  129. type:String,
  130. required:true
  131. },
  132. password: {
  133. type:String,
  134. required:true
  135. }
  136. });
  137. const users = mongoose.model('users',UserSchema);
  138.  
  139. users.getUserById = function(id,callback)
  140. {
  141. User.findById(id,callback);
  142. }
  143.  
  144. users.getUserByUsername = function(username,callback){
  145. const query = {username: username}
  146. user.findOne(query,callback);
  147. }
  148. users.addUser = function(newUser,callback){
  149. bcrypt.genSalt(10,(err,salt)=>{
  150. if(err)
  151. {
  152. throw err;
  153. }
  154. bcrypt.hash(newUser.password,salt,(err,hash)=>{
  155. newUser.password=hash;
  156. newUser.save(callback);
  157. });
  158. });
  159. }
  160.  
  161. module.exports = users;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement