Bläddra i källkod

Prevent showing merchants already created for users that want to add a new square merchant.

Lee Morgan 5 år sedan
förälder
incheckning
5311afc381
2 ändrade filer med 20 tillägg och 9 borttagningar
  1. 20 8
      controllers/squareData.js
  2. 0 1
      views/dashboardPage/js/modal.js

+ 20 - 8
controllers/squareData.js

@@ -249,26 +249,38 @@ module.exports = {
     }]
     */
     getLocations: function(req, res){
-        axios.get(`${process.env.SQUARE_ADDRESS}/v2/locations`, {
+        let ownerLocation = res.locals.owner.populate("merchants", "locationId").execPopulate();
+
+        let locations = axios.get(`${process.env.SQUARE_ADDRESS}/v2/locations`, {
             headers: {
                 "Authorization": `Bearer ${res.locals.owner.square.accessToken}`,
                 "Content-Type": "application/json"
             }
-        })
+        });
+
+        Promise.all([ownerLocation, locations])
             .then((response)=>{
+                let checkLocations = [];
                 let locations = [];
-                for(let i = 0; i < response.data.locations.length; i++){
-                    locations.push({
-                        name: response.data.locations[i].name,
-                        id: response.data.locations[i].id
-                    });
+
+                for(let i = 0; i < res.locals.owner.merchants.length; i++){
+                    checkLocations.push(res.locals.owner.merchants[i].locationId);
+                }
+                
+                for(let i = 0; i < response[1].data.locations.length; i++){
+                    if(checkLocations.includes(response[1].data.locations[i].id) === false){
+                        locations.push({
+                            name: response[1].data.locations[i].name,
+                            id: response[1].data.locations[i].id
+                        });
+                    }
                 }
 
                 return res.json(locations);
             })
             .catch((err)=>{
                 return res.json("ERROR: UNABLE TO RETRIEVE LOCATION DATA FROM SQUARE");
-            })
+            });
     },
 
     /*

+ 0 - 1
views/dashboardPage/js/modal.js

@@ -163,7 +163,6 @@ let modal = {
                 }
             })
             .catch((err)=>{
-                console.log(err);
                 controller.createBanner("SOMETHING WENT WRONG. PLEASE REFRESH THE PAGE", "error");
             })
             .finally(()=>{