瀏覽代碼

Bug fix: through square, a user was able to sign up with a duplicate email address.

Lee Morgan 5 年之前
父節點
當前提交
b92c5a7078
共有 2 個文件被更改,包括 10 次插入3 次删除
  1. 1 1
      controllers/merchantData.js
  2. 9 2
      controllers/squareData.js

+ 1 - 1
controllers/merchantData.js

@@ -32,7 +32,7 @@ module.exports = {
         const merchantFind = await Merchant.findOne({email: req.body.email.toLowerCase()});
         if(merchantFind !== null){
             req.session.error = "USER WITH THIS EMAIL ADDRESS ALREADY EXISTS";
-            return res.redirect("/register");
+            return res.redirect("/login");
         }
 
         let salt = bcrypt.genSaltSync(10);

+ 9 - 2
controllers/squareData.js

@@ -16,11 +16,18 @@ module.exports = {
         confirmPassword: String
     }
     */
-    redirect: function(req, res){
+    redirect: async function(req, res){
         if(req.body.password !== req.body.confirmPassword){
             req.session.error = "YOUR PASSWORDS DO NOT MATCH";
             return res.redirect("/");
         }
+        let email = req.body.email.toLowerCase();
+
+        let potentialMerchant = await Merchant.findOne({email: email})
+        if(potentialMerchant !== null){
+            req.session.error = "USER WITH THIS EMAIL ADDRESS ALREADY EXISTS";
+            return res.redirect("/login");
+        }
 
         let expirationDate = new Date();
         expirationDate.setDate(expirationDate.getDate() + 90);
@@ -30,7 +37,7 @@ module.exports = {
 
         let merchant = new Merchant({
             name: req.body.name,
-            email: req.body.email,
+            email: email,
             password: hash,
             pos: "square",
             status: ["unverified"],