// routes/auth.js const express = require('express'); const router = express.Router(); const bcrypt = require('bcrypt'); const db = require('../db'); router.get('/login', (req, res) => { res.render('auth/login', { error: null }); }); router.post('/login', async (req, res) => { const { username, password } = req.body; try { // เปลี่ยนจาก `user` เป็น `users` const [users] = await db.query('SELECT * FROM users WHERE username = ?', [username]); if (users.length === 0) { return res.render('auth/login', { error: 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง' }); } const user = users[0]; const validPassword = await bcrypt.compare(password, user.password); if (!validPassword) { return res.render('auth/login', { error: 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง' }); } req.session.user = user; res.redirect('/index'); } catch (error) { console.error('ข้อผิดพลาดในการล็อกอิน:', error); res.render('auth/login', { error: 'เกิดข้อผิดพลาดในการล็อกอิน' }); } }); router.get('/register', (req, res) => { res.render('auth/register', { error: null }); }); router.post('/register', async (req, res) => { const { username, email, password, phone, f_name, l_name, } = req.body; try { const hashedPassword = await bcrypt.hash(password, 10); await db.query( `INSERT INTO users (username, email, password, phone, f_name, l_name, role) VALUES (?, ?, ?, ?, ?, ?,'member')`, [username, email, hashedPassword, phone, f_name, l_name] ); res.redirect('/auth/login'); } catch (error) { console.error('ข้อผิดพลาดในการสมัครสมาชิก:', error); res.render('auth/register', { error: 'เกิดข้อผิดพลาดในการสมัครสมาชิก' }); } }); router.get('/logout', (req, res) => { req.session.destroy((err) => { if (err) console.error('ข้อผิดพลาดในการออกจากระบบ:', err); res.redirect('/'); }); }); module.exports = router;