Advertisement
Guest User

Untitled

a guest
Jul 4th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. var mongoose = require('mongoose');
  2. var Schema = mongoose.Schema;
  3. var bcrypt = require('bcrypt-nodejs');
  4.  
  5.  
  6. var UserSchema = new Schema({
  7. name: String,
  8. username: { type: String, required: true, index: { unique: true }},
  9. password: { type: String, required: true, select: false }
  10. });
  11.  
  12. UserSchema.pre('save', function(next) {
  13. var user = this;
  14.  
  15. if (!user.isModified('password')) return next();
  16.  
  17. bcrypt.hash(user.password, null, null, function(err, hash) {
  18. if (err) return next(err);
  19.  
  20. user.password = hash;
  21. next();
  22. });
  23. });
  24.  
  25. UserSchema.methods.comparePassword = function(password) {
  26. var user = this;
  27.  
  28. return bcrypt.compareSync(password, user.password);
  29. };
  30.  
  31. module.exports = mongoose.model('User', UserSchema);
  32.  
  33. var express = require('express');
  34. var app = express();
  35. var bodyParser = require("body-parser");
  36. var morgan = require('morgan');
  37. var mongoose = require('mongoose');
  38. var port = process.env.PORT || 8080;
  39. var User = require('./app/models/user');
  40.  
  41.  
  42. app.use(bodyParser.urlencoded({extended: true}));
  43. app.use(bodyParser.json());
  44.  
  45.  
  46. app.use(function(req,res,next){
  47. res.setHeader('Acess-control-allow-Origin', '*');
  48. res.setHeader('Acess-control-Allow-Methods', 'GET, POST');
  49. res.setHeader('Acess-Control-Allow-Headers', 'X-Requested-With, content-type,Authorization');
  50. next();
  51. });
  52.  
  53. app.use(morgan('dev'));
  54.  
  55. mongoose.connect('mongodb://localhost:27017/myDatabase');
  56.  
  57. app.get('/', function(req, res){
  58. res.send('Welcome to thome page');
  59. });
  60.  
  61. var apiRouter = express.Router();
  62.  
  63. apiRouter.use(function(req, res, next){
  64. console.log('Somebody just came to our app');
  65.  
  66. next();
  67. });
  68.  
  69. apiRouter.get('/', function(req, res){
  70. res.json({message: 'Hooray! Welcome to our api1'});
  71. });
  72.  
  73. app.use('/api', apiRouter);
  74.  
  75. apiRouter.route('/users')
  76.  
  77. .post(function(req,res){
  78.  
  79. var user = new User();
  80.  
  81. user.name = req.body.name;
  82. user.username = req.body.username;
  83. user.password = req.body.password;
  84.  
  85. user.save(function(err){
  86. if(err){
  87. if(err.code == 1000)
  88. return res.json({success: false, message: "A user with that username already exists"});
  89. else
  90. return res.send(err);
  91. }
  92. res.json({message: "User created"});
  93. });
  94. });
  95.  
  96.  
  97. app.listen(port);
  98. console.log("Magic happens on port " + port);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement