From 6a91e8c201ad65103ea471ec8e21b4620d44f0ab Mon Sep 17 00:00:00 2001 From: 65160118 <65160118@go.buu.ac.th> Date: Fri, 21 Mar 2025 16:42:37 +0700 Subject: [PATCH] 3 commit --- app.js | 7 +++++++ controllers/authController.js | 8 ++++++-- models/userModel.js | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app.js b/app.js index d847cc6..747f507 100644 --- a/app.js +++ b/app.js @@ -40,6 +40,13 @@ app.use(session({ saveUninitialized: true })); +app.use((req, res, next) => { + if (!req.session.returnTo && req.method === "GET" && !req.path.startsWith('/login') && !req.path.startsWith('/register')) { + req.session.returnTo = req.originalUrl; + } + next(); +}); + // Database middleware app.use((req, res, next) => { req.db = db; diff --git a/controllers/authController.js b/controllers/authController.js index c856106..f84a068 100644 --- a/controllers/authController.js +++ b/controllers/authController.js @@ -35,13 +35,17 @@ exports.postLogin = async (req, res) => { return res.render('login', { error: 'อีเมลหรือรหัสผ่านไม่ถูกต้อง' }); } - const isMatch = await bcrypt.compare(password, user.password); + const isMatch = await bcryptjs.compare(password, user.password); if (!isMatch) { return res.render('login', { error: 'อีเมลหรือรหัสผ่านไม่ถูกต้อง' }); } req.session.user = user; - res.redirect('/'); // Changed from '/booklists' to '/' to redirect to home page + + // Redirect to saved URL or default to home + const returnTo = req.session.returnTo || '/'; + delete req.session.returnTo; + res.redirect(returnTo); } catch (error) { res.render('login', { error: 'เกิดข้อผิดพลาดในการเข้าสู่ระบบ โปรดลองอีกครั้ง' }); } diff --git a/models/userModel.js b/models/userModel.js index c1d778e..5acc545 100644 --- a/models/userModel.js +++ b/models/userModel.js @@ -6,7 +6,7 @@ module.exports = class User { } async register(username, email, password) { - const hashedPassword = await bcrypt.hash(password, 10); + const hashedPassword = await bcryptjs.hash(password, 10); return new Promise((resolve, reject) => { this.db.query( 'INSERT INTO users (username, email, password) VALUES (?, ?, ?)', -- GitLab