Gitlab@Informatics

Skip to content
Snippets Groups Projects
Commit fdc59331 authored by 65160394's avatar 65160394
Browse files

Project Round 2

parent 20f9cb72
No related branches found
No related tags found
No related merge requests found
const db = require('../config/database');
const bcrypt = require('bcryptjs');
exports.register = async (req, res) => {
const { name, email, password } = req.body;
try {
const [existingUser] = await db.query('SELECT * FROM users WHERE email = ?', [email]);
if (existingUser.length > 0) {
return res.status(400).json({ message: 'Email นี้ถูกใช้ไปแล้ว' });
}
const hashedPassword = await bcrypt.hash(password, 10);
await db.query('INSERT INTO users (name, email, password) VALUES (?, ?, ?)', [name, email, hashedPassword]);
res.status(201).json({ message: 'ลงทะเบียนสำเร็จ' });
} catch (error) {
res.status(500).json({ message: 'เกิดข้อผิดพลาด', error });
}
};
exports.login = async (req, res) => {
const { email, password } = req.body;
try {
const [user] = await db.query('SELECT * FROM users WHERE email = ?', [email]);
if (user.length === 0) {
return res.status(400).json({ message: 'อีเมลหรือรหัสผ่านไม่ถูกต้อง' });
}
const isMatch = await bcrypt.compare(password, user[0].password);
if (!isMatch) {
return res.status(400).json({ message: 'อีเมลหรือรหัสผ่านไม่ถูกต้อง' });
}
// เก็บ session หลังจากล็อกอิน
req.session.userId = user[0].id;
req.session.userEmail = user[0].email;
res.status(200).json({ message: 'เข้าสู่ระบบสำเร็จ' });
} catch (error) {
res.status(500).json({ message: 'เกิดข้อผิดพลาด', error });
}
};
exports.logout = (req, res) => {
req.session.destroy(() => {
res.json({ message: 'ออกจากระบบสำเร็จ' });
});
};
const express = require('express');
const { register, login, logout } = require('../controllers/authController');
const router = express.Router();
router.post('/register', register);
router.post('/login', login);
router.get('/logout', logout);
module.exports = router;
......@@ -2,7 +2,6 @@ const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');
const session = require('express-session');
const authRoutes = require('./routes/authRoutes');
const tourRoutes = require('./routes/tourRoutes');
......@@ -21,7 +20,6 @@ app.use(session({
}));
// Routes
app.use('/auth', authRoutes);
app.use('/', tourRoutes);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment