From 47a3ba75bc9747baa9c1af9226faa359e7e9662d Mon Sep 17 00:00:00 2001 From: Atiwit Pattanapukdee <65160394@go.buu.ac.th> Date: Sun, 16 Mar 2025 02:51:44 +0700 Subject: [PATCH] Add Project File --- controllers/authController.js | 30 ------------------------------ models/userModel.js | 25 ------------------------- routes/tourRoutes.js | 4 +--- server.js | 5 ----- views/dashboard.ejs | 24 ------------------------ views/login.ejs | 35 ----------------------------------- 6 files changed, 1 insertion(+), 122 deletions(-) delete mode 100644 controllers/authController.js delete mode 100644 models/userModel.js delete mode 100644 views/dashboard.ejs delete mode 100644 views/login.ejs diff --git a/controllers/authController.js b/controllers/authController.js deleted file mode 100644 index 2d908f0..0000000 --- a/controllers/authController.js +++ /dev/null @@ -1,30 +0,0 @@ -const userModel = require('../models/userModel'); - -const loginPage = (req, res) => { - res.render('login', { error: null }); -}; - -const loginUser = (req, res) => { - const { username, password } = req.body; - - userModel.authenticateUser(username, password, (err, user) => { - if (err) { - return res.render('login', { error: 'An error occurred during login.' }); - } - if (user) { - req.session.user = user; - res.redirect('/dashboard'); - } else { - res.render('login', { error: 'Invalid username or password.' }); - } - }); -}; - -const dashboard = (req, res) => { - if (!req.session.user) { - return res.redirect('/login'); - } - res.render('dashboard', { user: req.session.user }); -}; - -module.exports = { loginPage, loginUser, dashboard }; diff --git a/models/userModel.js b/models/userModel.js deleted file mode 100644 index 7e52f75..0000000 --- a/models/userModel.js +++ /dev/null @@ -1,25 +0,0 @@ -const bcrypt = require('bcryptjs'); - -// ฟังก์ชันเพื่อเปรียบเทียบรหัสผ่านที่กรอก -const authenticateUser = (username, password, callback) => { - const user = users.find(u => u.username === username); - if (user) { - bcrypt.compare(password, user.passwordHash, (err, isMatch) => { - if (err) return callback(err); - callback(null, isMatch ? user : null); - }); - } else { - callback(null, null); - } -}; - -// ฟังก์ชันเพื่อเพิ่มผู้ใช้ใหม่ (สำหรับการสมัคร) -const addUser = (username, password, callback) => { - bcrypt.hash(password, 10, (err, hash) => { - if (err) return callback(err); - users.push({ username, passwordHash: hash }); - callback(null); - }); -}; - -module.exports = { authenticateUser, addUser }; diff --git a/routes/tourRoutes.js b/routes/tourRoutes.js index 4cd9cf1..08b172e 100644 --- a/routes/tourRoutes.js +++ b/routes/tourRoutes.js @@ -4,7 +4,5 @@ const tourController = require('../controllers/tourController'); router.get('/', tourController.getTours); router.get('/tour/:id', tourController.getTourDetails); -router.get('/login', authController.loginPage); -router.post('/login', authController.loginUser); -router.get('/dashboard', authController.dashboard); + module.exports = router; diff --git a/server.js b/server.js index cce3ece..77c889f 100644 --- a/server.js +++ b/server.js @@ -11,11 +11,6 @@ app.use(express.static('public')); // Middleware app.use(bodyParser.urlencoded({ extended: true })); -app.use(session({ - secret: 'bankkhabb', - resave: false, - saveUninitialized: true -})); app.use('/', tourRoutes); diff --git a/views/dashboard.ejs b/views/dashboard.ejs deleted file mode 100644 index 9eef6f2..0000000 --- a/views/dashboard.ejs +++ /dev/null @@ -1,24 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="stylesheet" href="/css/style.css"> - <title>Dashboard</title> -</head> -<body> - <header> - <h1>Welcome, <%= user.username %>!</h1> - </header> - - <section class="dashboard-container"> - <h2>Your Dashboard</h2> - <p>Here are your tour details, bookings, etc.</p> - <!-- Add more content here for the dashboard --> - </section> - - <footer> - <p>© 2025 Tour Website. All Rights Reserved.</p> - </footer> -</body> -</html> diff --git a/views/login.ejs b/views/login.ejs deleted file mode 100644 index 8327c49..0000000 --- a/views/login.ejs +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="stylesheet" href="/css/style.css"> - <title>Login</title> -</head> -<body> - <header> - <h1>Login to Your Account</h1> - </header> - - <section class="login-form-container"> - <form action="/login" method="POST" class="login-form"> - <div class="form-group"> - <label for="username">Username:</label> - <input type="text" id="username" name="username" required> - </div> - <div class="form-group"> - <label for="password">Password:</label> - <input type="password" id="password" name="password" required> - </div> - <button type="submit">Login</button> - <% if (error) { %> - <p class="error-message"><%= error %></p> - <% } %> - </form> - </section> - - <footer> - <p>© 2025 Tour Website. All Rights Reserved.</p> - </footer> -</body> -</html> -- GitLab