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);
    }
  };