Guest User

Untitled

a guest
Nov 8th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. const express = require('express')
  2. const mongoose = require('mongoose')
  3. const Schema = mongoose.Schema
  4. const User = require('../models/users')
  5.  
  6. let QuoteSchema = new Schema({
  7. author: {
  8. type: String,
  9. trim: true
  10. },
  11. quote: {
  12. type: String,
  13. unique: [true, "this quote already exists."],
  14. trim: true
  15. },
  16. submittedBy: [{
  17. type: Schema.Types.ObjectId,
  18. ref: 'users'
  19. // trim: true,
  20. // required: true
  21. }]
  22. }, {
  23. timestamps: true
  24. })
  25.  
  26. const Quote = mongoose.model('quotes', QuoteSchema)
  27. module.exports = Quote
  28.  
  29. const express = require('express')
  30. const mongoose = require('mongoose')
  31. const Schema = mongoose.Schema
  32.  
  33. let UserSchema = new Schema ({
  34. username: {
  35. type: String,
  36. unique: [true, "This username is taken."],
  37. trim: true,
  38. },
  39. email: {
  40. type: String,
  41. unique: [true, "This email is already being used."],
  42. trim: true
  43. },
  44. password: {
  45. type: String,
  46. trim: true
  47. },
  48. favorites: []
  49. }, {
  50. timestamps: true,
  51. })
  52.  
  53. const User = mongoose.model('users', UserSchema)
  54. module.exports = User
  55.  
  56. router.get('/', (req, res, next) => {
  57. console.log("beginning query...")
  58. const flashMessages = res.locals.getMessages()
  59. if (req.user) {
  60. Quote.find({}).populate('submittedBy').sort({ _id: -1 })
  61. .exec((err, results) => {
  62. console.log(typeof results) // returns "object"
  63. err ? console.log(err) : res.render('index', { quotes: results, user: req.user, csrfToken: req.csrfToken() });
  64. })
  65. }
  66. })
  67.  
  68.  
  69. router.post('/quotes', (req, res, next) => {
  70. if(req.isAuthenticated()) {
  71. let quote = new Quote({
  72. author: req.body.author,
  73. quote: req.body.quote,
  74. submittedBy: req.body.userId
  75. })
  76.  
  77. quote.save((err, quote) => {
  78. if (err) {
  79. console.log(err)
  80. } else {
  81. console.log("Added the quote "" + quote.quote + "" by " + quote.author + ".")
  82. res.redirect('/')
  83. }
  84. })
  85. .catch(next)
  86. } else {
  87. req.flash("restricted", "You must first login before you can add quotes to the community feed.")
  88. res.redirect('/')
  89. }
  90. })
  91.  
  92. <% for(var i = 0; i < quotes.length; i++) {%>
  93. <li class="quote">
  94. <i class="fa fa-close fa-quote-close move hidden"></i>
  95. <i class="fa fa-heart hidden"></i>
  96. <span class="make-bold nhauthorValues" id="<%= quotes[i]._id %>" contenteditable="true"><%= quotes[i].author %></span> once said: "<span class="quoteValues" id="<%= quotes[i]._id %>" contenteditable="true"><%= quotes[i].quote %></span>"
  97. <span class="by"><%= quotes[i].submittedBy.username %></span>
  98. </li>
  99. <% } %>
Add Comment
Please, Sign In to add comment