From e1b101008c9604304e754cea2bcae5ccf29518f3 Mon Sep 17 00:00:00 2001
From: 65160270 <65160270@go.buu.ac.th>
Date: Fri, 28 Mar 2025 21:43:10 +0700
Subject: [PATCH] update-cart

---
 server.js              |  2 ++
 shop-routes/product.js | 36 +++++++++++++++++-------------------
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/server.js b/server.js
index 05837d4..a9e2675 100644
--- a/server.js
+++ b/server.js
@@ -61,6 +61,8 @@ app.use("/cart", cartRoutes);
 app.use("/order", orderRoutes);
 app.use("/products", productRoutes);
 
+app.use("/uploads", express.static(path.join(__dirname, "uploads")));
+
 //Middlewareเน€เธŠเน‡เธ„Login
 const isLoggedIn = (req, res, next) => {
     if (req.session.user) {
diff --git a/shop-routes/product.js b/shop-routes/product.js
index bb5acd6..6dc88d7 100644
--- a/shop-routes/product.js
+++ b/shop-routes/product.js
@@ -42,37 +42,35 @@ router.get("/add", (req, res) => {
 
 // เน€เธžเธดเนˆเธกเธชเธดเธ™เธ„เน‰เธฒเนƒเธซเธกเนˆเธžเธฃเน‰เธญเธกเธฃเธนเธ›
 router.post("/add", upload.single("image"), async (req, res) => {
-    console.log("req.file:", req.file);  // เธ”เธนเธงเนˆเธฒ multer เน„เธ”เน‰เธฃเธฑเธšเน„เธŸเธฅเนŒเน„เธซเธก
-    console.log("req.body:", req.body);  // เธ”เธนเธ„เนˆเธฒเธ—เธตเนˆเธชเนˆเธ‡เธกเธฒเธˆเธฒเธเธŸเธญเธฃเนŒเธก
-
     try {
-        const { name, price, stock, description } = req.body;
+        console.log("Request received:", req.body);
+        console.log("Uploaded file:", req.file);
 
         if (!req.file) {
             console.error("Error: No file uploaded!");
-            return res.status(400).send("File upload failed");
+            return res.status(400).json({ message: "File upload failed" });
         }
 
+        const { name, price, stock, description } = req.body;
         const imagePath = "/uploads/" + req.file.filename;
-        console.log("imagePath:", imagePath);  // เธ•เธฃเธงเธˆเธชเธญเธšเธžเธฒเธ˜เน„เธŸเธฅเนŒเธฃเธนเธ›
-
-        try {
-            await pool.execute(
-                "INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)",
-                [name, price, stock, description, imagePath]
-            );
-        } catch (error) {
-            console.error("Database Error:", error);
-            return res.status(500).json({ error: "Database Error", details: error });
-        }
 
-        res.redirect("/products");
+        const sql = "INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)";
+        const values = [name, price, stock, description, imagePath];
+
+        console.log("SQL Query:", sql);
+        console.log("Values:", values);
+
+        await pool.execute(sql, values);
+        res.status(201).json({ success: true, message: "Product added successfully!" });
+
     } catch (error) {
-        console.error("Error adding product:", error);
-        res.status(500).send("Error adding product.");
+        console.error("Server Error:", error);
+        res.status(500).json({ message: "Internal Server Error", error: error.message });
     }
 });
 
+
+
 // เธ”เธถเธ‡เธ‚เน‰เธญเธกเธนเธฅเธชเธดเธ™เธ„เน‰เธฒเธ•เธฒเธก ID เนเธฅเธฐเนเธชเธ”เธ‡เธซเธ™เน‰เธฒเนเธเน‰เน„เธ‚
 router.get("/edit/:id", async (req, res) => {
     try {
-- 
GitLab