Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. // SAVE A REVIEW TO DATABASE
  2. router.post('/', function(req, res, next) {
  3. var decoded = jwt.decode(req.query.token);
  4. User.findById(decoded.user._id, function(err, doc) {
  5. if (err) {
  6. return res.status(404).json({
  7. title: 'An error occurred',
  8. error: err
  9. });
  10. }
  11. var review = new Review({
  12. content: req.body.content,
  13. rating: req.body.rating,
  14. app: req.body.appId,
  15. user: doc
  16. })
  17. Application.findById(req.body.appId, function(err, doc) {
  18. if (err) {
  19. return res.status(404).json({
  20. title: 'An error occurred',
  21. error: err
  22. });
  23. }
  24. review.save(function(err, result) {
  25. if (err) {
  26. return res.status(404).json({
  27. title: 'An error occurred',
  28. error: err
  29. });
  30. }
  31. review.update(function(err, result) {
  32. if (err) {
  33. return res.status(404).json({
  34. title: 'An error occurred',
  35. error: err
  36. });
  37. }
  38. doc.reviews.push(result);
  39. doc.save();
  40. res.status(201).json({
  41. message: 'Saved review',
  42. obj: result
  43. });
  44. });
  45. });
  46. });
  47.  
  48. Review Model:
  49.  
  50. var schema = new Schema({
  51. content: {type: String, required: true},
  52. rating: {type: Number},
  53. dateCreated: {type: String},
  54. app: {type: Schema.Types.ObjectId, ref: 'Application'},
  55. user: {type: Schema.Types.ObjectId, ref: 'User'}
  56. });
  57.  
  58. Application Model:
  59.  
  60. var schema = new Schema({
  61. name: {type: String, required: true},
  62. description: {type: String},
  63. reviews: [{type: Schema.Types.ObjectId, ref: 'Review'}],
  64. })
  65.  
  66. User Model:
  67.  
  68. var schema = new Schema({
  69. firstName: {type: String, required: true},
  70. lastName: {type: String, required: true},
  71. password: {type: String, required: true},
  72. passwordConfirm: {type: String, required: true},
  73. email: {type: String, required: true, unique: true},
  74. reviews: [{type: Schema.Types.ObjectId, ref: 'Review'}]
  75. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement