Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // post route for getting the review
- router.post('/:id', isLoggedIn, function(req, res) {
- Work.findById(req.params.id, function(err, foundWork) {
- if (err) {
- console.log(err);
- } else {
- // create a new critique
- var newCritique = new Critique ({
- reviewerName: {
- id: req.user._id,
- username: req.user.username
- },
- work: {
- id: foundWork._id,
- title: foundWork.title
- },
- critique : req.body.critique,
- date: Date.now(),
- rating: 0
- });
- // save new critique to db
- Critique.create(newCritique, function(err, createdCritique) {
- if (err) {
- console.log(err)
- } else {
- console.log("Created critique is ");
- console.log(createdCritique);
- // push the new critique into array of critiques of the work
- foundWork.critiques.push(createdCritique);
- // save to db
- foundWork.save();
- }
- });
- }
- });
- var mongoose = require('mongoose');
- var passportLocalMongoose = require('passport-local-mongoose');
- var UserSchema = new mongoose.Schema({
- firstname: String,
- lastname: String,
- username: String,
- password: String,
- email: String,
- zip: String,
- bio: {
- type: String,
- default: ''
- },
- influences: {
- type: String,
- default: ''
- },
- favBooks: {
- type: String,
- default: ''
- },
- notWriting: {
- type: String,
- default: ''
- },
- favHero: {
- type: String,
- default: ''
- },
- favVillain: {
- type: String,
- default: ''
- },
- works: [
- {
- type: mongoose.Schema.Types.ObjectId,
- ref: 'Work'
- }
- ],
- critiques: [
- {
- type: mongoose.Schema.Types.ObjectId,
- ref: 'Critique'
- }
- ],
- friends: [
- {
- friendId: String,
- friendName : String,
- friendPic: String
- }
- ],
- friendRequests: [
- {
- sendingFriendId: String,
- sendingFriendName : String,
- sendingFriendPic: String
- }
- ],
- createdDate: {
- type: Date,
- default: Date.now
- },
- lastLogin: {
- type: Date,
- default: Date.now
- }
- });
- UserSchema.plugin(passportLocalMongoose);
- module.exports = mongoose.model("User", UserSchema);
- var mongoose = require('mongoose');
- var WorkSchema = new mongoose.Schema({
- title: String,
- genre: String,
- workType: String,
- length: Number,
- ageRange: String,
- author: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- },
- username: String
- },
- manuscriptText: String,
- critiques: [
- {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "Critique"
- }
- }
- ],
- ratingNumber: [Number],
- ratingSum: {
- type: Number,
- default: 0
- },
- date: {
- type: Date,
- default: Date.now
- },
- isPublic: {
- type: Boolean,
- default: true
- }
- });
- module.exports = mongoose.model("Work", WorkSchema);
- var mongoose = require('mongoose');
- var passportLocalMongoose = require('passport-local-mongoose');
- var CritiqueSchema = new mongoose.Schema({
- reviewerName: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- },
- username: String
- },
- work: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "Work"
- },
- title: String
- },
- critique: String,
- date: {
- type: Date,
- default: Date.now
- },
- rating: [Number]
- });
- CritiqueSchema.plugin(passportLocalMongoose);
- module.exports = mongoose.model("Critique", CritiqueSchema);
Add Comment
Please, Sign In to add comment