diff --git a/server.js b/server.js index a9e26759748210bb757dfc1f50337772a1d8ae0e..6341394ffd81d8b42462072b9e13c2b365f57bcb 100644 --- a/server.js +++ b/server.js @@ -230,9 +230,8 @@ app.get("/logout", (req, res) => { app.use((err, req, res, next) => { console.error("Unhandled error:", err); - res.status(500).json({ message: "Internal Server Error" }); + res.status(500).json({ message: "Internal Server Error", error: err.message }); }); - const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`)); diff --git a/shop-routes/product.js b/shop-routes/product.js index 50870d0819ccf369348859a9ca83a7de90c8b0ce..5c1a0bd9f30e7371c56727702ae067669bcc0611 100644 --- a/shop-routes/product.js +++ b/shop-routes/product.js @@ -42,27 +42,29 @@ router.get("/add", (req, res) => { // เพิ่มสินค้าใหม่พร้อมรูป router.post("/add", upload.single("image"), async (req, res) => { - console.log("req.file:", req.file); // ตรวจสอบว่า multer ได้รับไฟล์หรือไม่ - try { - const { name, price, stock } = req.body; - if (!name || !price || !stock || !req.file) { - return res.status(400).send("กรุณากรอกข้อมูลให้ครบถ้วน และเลือกรูปภาพ"); + console.log("Debugging Data:", req.body); + console.log("File Upload:", req.file); + + const { name, price, stock, description } = req.body; + if (!name || !price || !stock || !description || !req.file) { + throw new Error("Missing required fields"); } const imagePath = "/uploads/" + req.file.filename; - // แก้จาก 'image' เป็น 'image_url' - await pool.execute("INSERT INTO products (name, price, stock, image_url) VALUES (?, ?, ?, ?)", - [name, price, stock, imagePath]); + await pool.execute("INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)", + [name, price, stock, description, imagePath]); + console.log("Product added successfully!"); res.redirect("/products"); } catch (error) { console.error("Error adding product:", error); - res.status(500).send("Error adding product."); + res.status(500).json({ message: "Internal Server Error", error: error.message }); } }); + // ดึงข้อมูลสินค้าตาม ID และแสดงหน้าแก้ไข router.get("/edit/:id", async (req, res) => { try {