|
@@ -307,8 +307,9 @@ module.exports = {
|
|
|
|
|
|
|
|
//POST - Update the quantity for a merchant inventory item
|
|
//POST - Update the quantity for a merchant inventory item
|
|
|
//Inputs:
|
|
//Inputs:
|
|
|
- // req.body.ingredientId: Id of ingredient to update
|
|
|
|
|
- // req.body.quantityChange: Amount to change ingredient (not the new value)
|
|
|
|
|
|
|
+ // req.body.ingredients: array of ingredient data
|
|
|
|
|
+ // id: id of ingredient to update
|
|
|
|
|
+ // quantityChange: Amount to change ingredient (not the new value)
|
|
|
//Returns: Nothing
|
|
//Returns: Nothing
|
|
|
updateMerchantIngredient: function(req, res){
|
|
updateMerchantIngredient: function(req, res){
|
|
|
if(!req.session.user){
|
|
if(!req.session.user){
|
|
@@ -316,10 +317,22 @@ module.exports = {
|
|
|
return res.redirect("/");
|
|
return res.redirect("/");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ let adjustments = [];
|
|
|
|
|
+
|
|
|
Merchant.findOne({_id: req.session.user})
|
|
Merchant.findOne({_id: req.session.user})
|
|
|
.then((merchant)=>{
|
|
.then((merchant)=>{
|
|
|
- let updateIngredient = merchant.inventory.find(i => i.ingredient.toString() === req.body.ingredientId);
|
|
|
|
|
- updateIngredient.quantity = (updateIngredient.quantity + req.body.quantityChange).toFixed(2);
|
|
|
|
|
|
|
+ for(let ingredient of req.body){
|
|
|
|
|
+ console.log(ingredient);
|
|
|
|
|
+ let updateIngredient = merchant.inventory.find(i => i.ingredient.toString() === ingredient.id);
|
|
|
|
|
+ updateIngredient.quantity = (updateIngredient.quantity + ingredient.quantityChange);
|
|
|
|
|
+
|
|
|
|
|
+ adjustments.push(new InventoryAdjustment({
|
|
|
|
|
+ date: Date.now(),
|
|
|
|
|
+ merchant: req.session.user,
|
|
|
|
|
+ ingredient: ingredient.id,
|
|
|
|
|
+ quantity: ingredient.quantityChange
|
|
|
|
|
+ }));
|
|
|
|
|
+ }
|
|
|
merchant.save()
|
|
merchant.save()
|
|
|
.then((newMerchant)=>{
|
|
.then((newMerchant)=>{
|
|
|
res.json({});
|
|
res.json({});
|
|
@@ -332,14 +345,7 @@ module.exports = {
|
|
|
return res.json("Error: your data could not be retrieved");
|
|
return res.json("Error: your data could not be retrieved");
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- let invAdj = new InventoryAdjustment({
|
|
|
|
|
- date: Date.now(),
|
|
|
|
|
- merchant: req.session.user,
|
|
|
|
|
- ingredient: req.body.ingredientId,
|
|
|
|
|
- quantity: req.body.quantityChange
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- invAdj.save().catch((err)=>{});
|
|
|
|
|
|
|
+ InventoryAdjustment.create(adjustments).catch(()=>{});
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
//POST - Adds an ingredient to a recipe
|
|
//POST - Adds an ingredient to a recipe
|