Select Git revision
tourController.js
productController.js 1.66 KiB
const pool = require('../db');
exports.showAddProductForm = (req, res) => {
res.render('addProduct');
};
exports.createProduct = async (req, res) => {
const { product_name, price, image, description } = req.body;
const owner = req.session.userIdEmail; // เราต้องเก็บ email ตอน login ด้วยนะครับ
try {
const sql = 'INSERT INTO products (product_name, price, image, description, owner) VALUES (?, ?, ?, ?, ?)';
await pool.query(sql, [product_name, price, image, description, owner]);
res.redirect('/');
} catch (err) {
res.status(500).send('เกิดข้อผิดพลาดในการเพิ่มสินค้า: ' + err.message);
}
};
exports.deleteProduct = async (req, res) => {
const productId = req.params.id;
const currentUserEmail = req.session.userIdEmail;
try {
// ตรวจสอบว่าผู้ใช้นี้เป็นเจ้าของหรือไม่
const [rows] = await pool.query('SELECT * FROM products WHERE product_id = ?', [productId]);
if (rows.length === 0) {
return res.status(404).send('ไม่พบสินค้านี้');
}
const product = rows[0];
if (product.owner !== currentUserEmail) {
return res.status(403).send('คุณไม่มีสิทธิ์ลบสินค้านี้');
}
// ลบสินค้าได้
await pool.query('DELETE FROM products WHERE product_id = ?', [productId]);
res.redirect('/');
} catch (err) {
res.status(500).send('Database error: ' + err.message);
}
};