Select Git revision
tourController.js 1.85 KiB
const Tour = require('../models/tourModel');
exports.getTours = async (req, res) => {
try {
const tours = await Tour.getAllTours();
res.render('index', { tours });
} catch (error) {
res.status(500).send('เกิดข้อผิดพลาด');
}
};
exports.getTourDetails = async (req, res) => {
try {
const tour = await Tour.getTourById(req.params.id);
if (!tour) return res.status(404).send('ไม่พบข้อมูล');
res.render('tour-details', { tour });
} catch (error) {
res.status(500).send('เกิดข้อผิดพลาด');
}
};
const User = require('../models/tourModel');
exports.getLogin = (req, res) => {
res.render('login', { message: null });
};
exports.getRegister = (req, res) => {
res.render('register', { message: null });
};
exports.postLogin = (req, res) => {
const { email, password } = req.body;
User.comparePassword(email, password, (err, isMatch) => {
if (err || !isMatch) {
return res.render('login', { message: 'Invalid email or password' });
}
req.session.userId = email; // สามารถเก็บ ID หรืออีเมลของผู้ใช้ได้
res.redirect('/');
});
};
exports.postRegister = (req, res) => {
const { name, email, password, confirmPassword } = req.body;
if (password !== confirmPassword) {
return res.render('register', { message: 'Passwords do not match' });
}
User.findOne(email, (err, user) => {
if (user) {
return res.render('register', { message: 'Email already in use' });
}
User.create(name, email, password, (err, userId) => {
if (err) return res.render('register', { message: 'Error creating user' });
req.session.userId = userId;
res.redirect('/');
});
});
};