소스 검색

Merchant ingredients updated on order removal in the backend

Lee Morgan 5 년 전
부모
커밋
0ed622d33b
1개의 변경된 파일26개의 추가작업 그리고 2개의 파일을 삭제
  1. 26 2
      controllers/orderData.js

+ 26 - 2
controllers/orderData.js

@@ -1,5 +1,6 @@
 const Order = require("../models/order.js");
 const Merchant = require("../models/merchant.js");
+
 const ObjectId = require("mongoose").Types.ObjectId;
 const Validator = require("./validator.js");
 
@@ -148,9 +149,32 @@ module.exports = {
             return res.redirect("/");
         }
 
-        Order.deleteOne({_id: req.params.id})
+        let merchant = {};
+        let order = {}
+        Merchant.findOne({_id: req.session.user})
+            .then((response)=>{
+                merchant = response;
+                return Order.findOne({_id: req.params.id});
+            })
+            .then((response)=>{
+                order = response;
+
+                return Order.deleteOne({_id: req.params.id})
+            })
             .then((response)=>{
-                return res.json({});
+                res.json({});
+
+                for(let i = 0; i < order.ingredients.length; i++){
+                    for(let j = 0; j < merchant.inventory.length; j++){
+                        
+                        if(order.ingredients[i].ingredient.toString() === merchant.inventory[j].ingredient.toString()){
+                            merchant.inventory[j].quantity -= order.ingredients[i].quantity;
+                            break;
+                        }
+                    }
+                }
+
+                return merchant.save();
             })
             .catch((err)=>{
                 return res.json("ERROR: UNABLE TO REMOVE ORDER");