const express = require("express");
const router = express.Router();
const { poolPromise } = require("../db/database");

// 📋 Obtener productos por pastelería
router.get("/:idPasteleria", async (req, res) => {
  const { idPasteleria } = req.params;
  try {
    const pool = await poolPromise;
    const result = await pool
      .request()
      .input("idPasteleria", idPasteleria)
      .query("SELECT * FROM Productos WHERE idPasteleria = @idPasteleria");
    res.json(result.recordset);
  } catch (err) {
    console.error("Error al obtener productos:", err);
    res.status(500).json({ error: "Error al obtener productos" });
  }
});

// ➕ Agregar producto nuevo
router.post("/", async (req, res) => {
  const { nombre, precio, imagen, idPasteleria } = req.body;
  try {
    const pool = await poolPromise;
    await pool
      .request()
      .input("nombre", nombre)
      .input("precio", precio)
      .input("imagen", imagen)
      .input("idPasteleria", idPasteleria)
      .query(
        "INSERT INTO Productos (nombre, precio, imagen, idPasteleria) VALUES (@nombre, @precio, @imagen, @idPasteleria)"
      );
    res.json({ mensaje: "✅ Producto agregado exitosamente" });
  } catch (err) {
    console.error("Error al agregar producto:", err);
    res.status(500).json({ error: "Error al agregar producto" });
  }
});

// ❌ Eliminar producto
router.delete("/:id", async (req, res) => {
  const { id } = req.params;
  try {
    const pool = await poolPromise;
    await pool.request().input("id", id).query("DELETE FROM Productos WHERE id = @id");
    res.json({ mensaje: "🗑️ Producto eliminado correctamente" });
  } catch (err) {
    console.error("Error al eliminar producto:", err);
    res.status(500).json({ error: "Error al eliminar producto" });
  }
});

module.exports = router;
