Bladeren bron

Update removeTransaction to work with new session id.

Lee Morgan 5 jaren geleden
bovenliggende
commit
d24a81f15d
2 gewijzigde bestanden met toevoegingen van 12 en 25 verwijderingen
  1. 11 24
      controllers/transactionData.js
  2. 1 1
      routes.js

+ 11 - 24
controllers/transactionData.js

@@ -262,39 +262,26 @@ module.exports = {
     DELETE - Remove a transaction from the database
     */
     remove: function(req, res){
-        if(!req.session.user){
-            req.session.error = "MUST BE LOGGED IN TO DO THAT";
-            return res.redirect("/");
-        }
-
-        let merchant = {};
-        let transaction = {};
-        Merchant.findOne({_id: req.session.user})
-            .then((response)=>{
-                merchant = response;
-                return Transaction.findOne({_id: req.params.id}).populate("recipes.recipe");
-            })
-            .then((response)=>{
-                transaction = response;
-                return Transaction.deleteOne({_id: req.params.id});
-            })
-            .then((response)=>{
-                res.json();
-
+        Transaction.findOne({_id: req.params.id})
+            .populate("recipes.recipe")
+            .then((transaction)=>{
                 for(let i = 0; i < transaction.recipes.length; i++){
                     const recipe = transaction.recipes[i].recipe;
                     for(let j = 0; j < recipe.ingredients.length; j++){
                         const ingredient = recipe.ingredients[j].ingredient;
-                        for(let k = 0; k < merchant.inventory.length; k++){
-                            if(ingredient.toString() === merchant.inventory[k].ingredient.toString()){
-                                merchant.inventory[k].quantity += recipe.ingredients[j].quantity * transaction.recipes[i].quantity;
+                        for(let k = 0; k < res.locals.merchant.inventory.length; k++){
+                            if(ingredient.toString() === res.locals.merchant.inventory[k].ingredient.toString()){
+                                res.locals.merchant.inventory[k].quantity += recipe.ingredients[j].quantity * transaction.recipes[i].quantity;
                                 break;
                             }
                         }
                     }
                 }
-
-                return merchant.save();
+                
+                return Promise.all([Transaction.deleteOne({_id: req.params.id}), res.locals.merchant.save()]);
+            })
+            .then((response)=>{
+                res.json({});
             })
             .catch((err)=>{
                 if(typeof(err) === "string"){

+ 1 - 1
routes.js

@@ -52,7 +52,7 @@ module.exports = function(app){
     app.post("/transaction/create", session, transactionData.createTransaction);
     app.post("/transactions/create/spreadsheet", session, upload.single("transactions"), transactionData.createFromSpreadsheet);
     app.get("/transactions/download/spreadsheet", session, transactionData.spreadsheetTemplate);
-    app.delete("/transaction/:id", transactionData.remove);
+    app.delete("/transaction/:id", session, transactionData.remove);
     app.get("/populatesometransactions", transactionData.populate);
 
     //Other