Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express')
- const mongoose = require('mongoose')
- const Schema = mongoose.Schema
- const User = require('../models/users')
- let QuoteSchema = new Schema({
- author: {
- type: String,
- trim: true
- },
- quote: {
- type: String,
- unique: [true, "this quote already exists."],
- trim: true
- },
- submittedBy: [{
- type: Schema.Types.ObjectId,
- ref: 'users'
- // trim: true,
- // required: true
- }]
- }, {
- timestamps: true
- })
- const Quote = mongoose.model('quotes', QuoteSchema)
- module.exports = Quote
- const express = require('express')
- const mongoose = require('mongoose')
- const Schema = mongoose.Schema
- let UserSchema = new Schema ({
- username: {
- type: String,
- unique: [true, "This username is taken."],
- trim: true,
- },
- email: {
- type: String,
- unique: [true, "This email is already being used."],
- trim: true
- },
- password: {
- type: String,
- trim: true
- },
- favorites: []
- }, {
- timestamps: true,
- })
- const User = mongoose.model('users', UserSchema)
- module.exports = User
- router.get('/', (req, res, next) => {
- console.log("beginning query...")
- const flashMessages = res.locals.getMessages()
- if (req.user) {
- Quote.find({}).populate('submittedBy').sort({ _id: -1 })
- .exec((err, results) => {
- console.log(typeof results) // returns "object"
- err ? console.log(err) : res.render('index', { quotes: results, user: req.user, csrfToken: req.csrfToken() });
- })
- }
- })
- router.post('/quotes', (req, res, next) => {
- if(req.isAuthenticated()) {
- let quote = new Quote({
- author: req.body.author,
- quote: req.body.quote,
- submittedBy: req.body.userId
- })
- quote.save((err, quote) => {
- if (err) {
- console.log(err)
- } else {
- console.log("Added the quote "" + quote.quote + "" by " + quote.author + ".")
- res.redirect('/')
- }
- })
- .catch(next)
- } else {
- req.flash("restricted", "You must first login before you can add quotes to the community feed.")
- res.redirect('/')
- }
- })
- <% for(var i = 0; i < quotes.length; i++) {%>
- <li class="quote">
- <i class="fa fa-close fa-quote-close move hidden"></i>
- <i class="fa fa-heart hidden"></i>
- <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>"
- <span class="by"><%= quotes[i].submittedBy.username %></span>
- </li>
- <% } %>
Add Comment
Please, Sign In to add comment