Advertisement
Guest User

Untitled

a guest
Dec 9th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. var http = require('http');
  2. var async = require('async');
  3. var express = require('express');
  4. var db = require('./db');
  5.  
  6. var User = db.User;
  7. var Quote = db.Quote;
  8.  
  9. function startServer(callback) {
  10. var app = express();
  11. app.use(express.favicon());
  12.  
  13. // For each request we're the same user
  14. app.all('*', function(req, res, next) {
  15. User.findOne().populate('lastQuote').exec(function(err, user) {
  16. if (err) return next(err);
  17. req.user = user;
  18. next();
  19. });
  20. });
  21.  
  22. app.get('/', function(req, res, next) {
  23. if (req.user.lastQuote) {
  24. req.user.lastQuote.next(function(err, quote) {
  25. res.send(quote.quote);
  26. req.user.lastQuote = quote._id;
  27. req.user.save();
  28. });
  29. } else {
  30. Quote.random(function(err, quote) {
  31. res.send(quote.quote);
  32. req.user.lastQuote = quote._id;
  33. req.user.save();
  34. });
  35. }
  36. });
  37.  
  38. http.createServer(app).listen(3000, callback);
  39. }
  40.  
  41. async.series([db.reset, db.seed, startServer], function(err) {
  42. if (err) throw err;
  43. console.log("Server started.");
  44. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement