Advertisement
Guest User

asd

a guest
Jan 20th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. router.post("/", function post(req, res) {
  2.         let args = req.body;
  3.         let usernameOrEmail = args.username_email;
  4.         let password = args.password;
  5.  
  6.         let errors = [];
  7.  
  8.         if (usernameOrEmail === "" || password === "") {
  9.             if (usernameOrEmail === "") {
  10.                 errors.push({error: "Please enter a username"});
  11.             }
  12.             if (password === "") {
  13.                 errors.push({error: "Please enter a password"});
  14.             }
  15.             res.render("login", {errors: errors});
  16.         }
  17.  
  18.         let toCheck = "";
  19.  
  20.         if (usernameOrEmail.includes('@')) {
  21.             toCheck = "\`email\`";
  22.         }
  23.         else {
  24.             toCheck = "\`username\`";
  25.         }
  26.  
  27.         db.connection.getConnection(function (err, connection) {
  28.             if (err) {
  29.                 console.log("Error has occurred.")
  30.             } else {
  31.                 connection.query(`SELECT * FROM users WHERE ${toCheck} = "${usernameOrEmail}"`, function (err, rows, fields) {
  32.                     if (err) {
  33.                         console.log("Error has occurred.")
  34.                     }
  35.                     else {
  36.                         if (rows.length > 0) {
  37.                             let hashedPassword = rows[0].password;
  38.                             if (bcrypt.compareSync(password, hashedPassword)) {
  39.                                 user.username = rows[0].username;
  40.                                 user.email = rows[0].email;
  41.                                 user.isLoggedIn = true;
  42.                                 user.isAdmin = rows[0].isAdmin === 1;
  43.                                 res.redirect("dashboard.hbs");
  44.                             }
  45.                             else {
  46.                                 errors.push({error: "Wrong username or password"});
  47.                                 res.render("login", {errors: errors});
  48.                             }
  49.                         }
  50.                         else {
  51.                             errors.push({error: "Username or email not found"});
  52.                             res.render("login", {errors: errors});
  53.                         }
  54.                     }
  55.                 });
  56.                 connection.release();
  57.             }
  58.         });
  59.     }
  60. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement