Gitlab@Informatics

Skip to content
Snippets Groups Projects
Commit deefecc1 authored by 65160270's avatar 65160270
Browse files

update-cart

parent 2cbf29c2
No related branches found
No related tags found
No related merge requests found
...@@ -94,6 +94,7 @@ app.get("/cart", isLoggedIn, async (req, res) => { ...@@ -94,6 +94,7 @@ app.get("/cart", isLoggedIn, async (req, res) => {
res.status(500).send("Error loading cart."); res.status(500).send("Error loading cart.");
} }
}); });
app.post("/cart/add", async (req, res) => { app.post("/cart/add", async (req, res) => {
if (!req.session.user) { if (!req.session.user) {
return res.status(401).json({ message: "Please login first." }); return res.status(401).json({ message: "Please login first." });
...@@ -135,21 +136,48 @@ app.post("/cart/add", async (req, res) => { ...@@ -135,21 +136,48 @@ app.post("/cart/add", async (req, res) => {
//อัปเดตตะกร้าสินค้า //อัปเดตตะกร้าสินค้า
app.post("/cart/update", async (req, res) => { app.post("/cart/update", async (req, res) => {
try { try {
console.log("Request Body:", req.body); // Debug input
const { cartItemId, quantity } = req.body; const { cartItemId, quantity } = req.body;
// เช็คว่ามีค่าครบถ้วน
if (!cartItemId || quantity === undefined) {
return res.status(400).json({ message: "Missing cartItemId or quantity" });
}
// เช็คว่า quantity เป็นค่าที่ถูกต้อง
if (quantity < 1) { if (quantity < 1) {
return res.status(400).json({ message: "Quantity must be at least 1" }); return res.status(400).json({ message: "Quantity must be at least 1" });
} }
await pool.execute("UPDATE cart_items SET quantity = ? WHERE id = ?", [quantity, cartItemId]); // ตรวจสอบว่ามี cartItemId อยู่ในฐานข้อมูลจริงหรือไม่
const [existingItem] = await pool.execute(
"SELECT * FROM cart_items WHERE id = ?",
[cartItemId]
);
if (existingItem.length === 0) {
return res.status(404).json({ message: "Cart item not found" });
}
// อัปเดตจำนวนสินค้าในตะกร้า
await pool.execute(
"UPDATE cart_items SET quantity = ? WHERE id = ?",
[quantity, cartItemId]
);
console.log("Updated Cart:", { cartItemId, quantity }); // Debug success
res.json({ success: true, message: "Cart updated" }); res.json({ success: true, message: "Cart updated" });
} catch (error) { } catch (error) {
console.error("Update error:", error); console.error("Update error:", error);
res.status(500).json({ message: "Update failed" }); res.status(500).json({ message: "Update failed", error });
} }
}); });
// Register // Register
app.get('/register', (req, res) => { app.get('/register', (req, res) => {
res.render('register'); res.render('register');
...@@ -205,15 +233,6 @@ app.post("/login", async (req, res) => { ...@@ -205,15 +233,6 @@ app.post("/login", async (req, res) => {
} }
}); });
// Logout
app.get("/logout", (req, res) => {
req.session.destroy(err => {
if (err) return res.status(500).json({ message: "Logout failed." });
res.clearCookie('connect.sid', { path: '/' }); // เคลียร์ Cookie อย่างถูกต้อง
res.redirect("/login");
});
});
// ค้นหาสินค้า // ค้นหาสินค้า
app.get("/search", async (req, res) => { app.get("/search", async (req, res) => {
const searchQuery = req.query.query; const searchQuery = req.query.query;
...@@ -228,6 +247,16 @@ app.get("/search", async (req, res) => { ...@@ -228,6 +247,16 @@ app.get("/search", async (req, res) => {
} }
}); });
// Logout
app.get("/logout", (req, res) => {
req.session.destroy(err => {
if (err) return res.status(500).json({ message: "Logout failed." });
res.clearCookie('connect.sid', { path: '/' }); // เคลียร์ Cookie อย่างถูกต้อง
res.redirect("/login");
});
});
// Error Handler // Error Handler
app.use((err, req, res, next) => { app.use((err, req, res, next) => {
console.error("Unhandled error:", err); console.error("Unhandled error:", err);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment