recipeData.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const Recipe = require("../models/recipe");
  2. const Merchant = require("../models/merchant");
  3. module.exports = {
  4. //POST - creates a single new recipe
  5. //Inputs:
  6. // req.body.name: name of recipes
  7. //Returns the newly created recipe
  8. createRecipe: function(req, res){
  9. if(!req.session.user){
  10. req.session.error = "Must be logged in to do that";
  11. return res.redirect("/");
  12. }
  13. let recipe = new Recipe({
  14. merchant: req.session.user,
  15. name: req.body.name,
  16. price: Math.round(req.body.price * 100),
  17. ingredients: []
  18. });
  19. Merchant.findOne({_id: req.session.user})
  20. .then((merchant)=>{
  21. merchant.recipes.push(recipe);
  22. merchant.save()
  23. .catch((err)=>{
  24. return res.json("Error: unable to save recipe");
  25. });
  26. })
  27. .catch((err)=>{
  28. return res.json("Error: unable to retrieve user data");
  29. })
  30. recipe.save()
  31. .then((newRecipe)=>{
  32. return res.json(newRecipe);
  33. })
  34. .catch((err)=>{
  35. return res.json("Error: unable to save new ingredient");
  36. });
  37. }
  38. }