orderData.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const Order = require("../models/order.js");
  2. const Merchant = require("../models/merchant.js");
  3. module.exports = {
  4. getOrders: function(){
  5. if(!req.session.user){
  6. req.session.error = "Must be logged in to do that";
  7. return res.redirect("/");
  8. }
  9. Order.aggregate([
  10. {$match: {merchant: req.session.user}},
  11. {$sort: {date: -1}},
  12. {$limit: 25},
  13. {$project: {
  14. orderId: 1,
  15. date: 1,
  16. ingredients: 1
  17. }}
  18. ]).toArray()
  19. .then((orders)=>{
  20. return res.json({orders});
  21. })
  22. .catch((err)=>{
  23. return res.json("Error: unable to retrieve your orders");
  24. });
  25. },
  26. //POST - Creates a new order from the site
  27. // req.body = {
  28. // orderId: user created order id
  29. // date: creation date
  30. // ingredients: [{
  31. // ingredient: id of the ingredient
  32. // quantity: amount of the ingredient purchased
  33. // price: price per unit for ingredient
  34. // }]
  35. // }
  36. createOrder: function(req, res){
  37. if(!req.session.user){
  38. req.session.error = "Must be logged in to do that";
  39. return res.redirect("/");
  40. }
  41. let newOrder = new Order(req.body);
  42. newOrder.merchant = req.session.user;
  43. newOrder.save()
  44. .then((response)=>{
  45. return res.json({});
  46. })
  47. .catch((err)=>{
  48. return res.json("Error: unable to save the new order");
  49. });
  50. }
  51. }