diff --git a/login-server.js b/login-server.js index e57de7a91b98a37091b2073797f25d77cec63129..2871e9139b522539365c75be5d987693ed396894 100644 --- a/login-server.js +++ b/login-server.js @@ -504,9 +504,14 @@ app.post("/like-reply", authenticateTokenGet, (req, res) => { }); app.get("/fetch-reply-liked", authenticateTokenGet, (req, res) => { - const { reply_id } = req.query; + // console.log("Request headers:", req.headers); const user_id = req.user.userId; + const { reply_id } = req.query; + const db = dbRequest(dbHost); + + + console.log("User ID:", user_id); const query = "SELECT * FROM reply_likes WHERE user_id = ? AND reply_id = ?"; db.query(query, [user_id, reply_id], (err, results) => { @@ -524,6 +529,10 @@ app.get("/fetch-reply-liked", authenticateTokenGet, (req, res) => { // If no matching record is found, return a response indicating the reply is not liked return res.status(200).json({ liked: false }); } + }).catch((error) => { + console.error("Error:", error.message); + db.destroy(); + return res.status(400).json({ message: error.message }); }); }); @@ -540,6 +549,10 @@ app.get("/reply-like-count", authenticateTokenGet, (req, res) => { return res.status(500).json({ message: "Database error" }); } res.json({ like_count: results[0].like_count }); // Send response + }).catch((error) => { + console.error("Error:", error.message); + db.destroy(); + return res.status(400).json({ message: error.message }); }); }); diff --git a/src/App.tsx b/src/App.tsx index fd486f8450398305e683df239491110f34c361df..de9d7f23cabf190e3fe2e3466394d0dc512a142b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -221,31 +221,47 @@ const incrementLikeCount = (replyId: number) => { useEffect(() => { const fetchReplyLikes = async () => { const initialLikedState: { [key: number]: boolean } = {}; + const token = localStorage.getItem("authToken"); + + if (!token) { + console.error("Authorization token is missing!"); + return; + } - // Fetch like status for each reply for (const comment of comments) { if (Array.isArray(comment.replies)) { for (const reply of comment.replies) { try { + console.log(`Fetching like status for reply_id: ${reply.id}`); + console.log("Sending token:", token); const response = await axios.get(`${loginServer}/fetch-reply-liked`, { - params: { reply_id: reply.id }, + params: { auth: token, reply_id: reply.id }, }); - - // Set like status from API response - initialLikedState[reply.id] = response.data.liked || false; + + initialLikedState[reply.id] = response.data.liked; } catch (err) { console.error("Error fetching reply like status:", err); - initialLikedState[reply.id] = false; // Default to false if there's an error + initialLikedState[reply.id] = false; + } + + try { + console.log(`Fetching like count for reply_id: ${reply.id}`); + console.log("Sending token:", token); + const response = await axios.get(`${loginServer}/reply-like-count`, { + params: { reply_id: reply.id }, + }); + replyLikeCount[reply.id] = response.data.like_count; + } catch (err) { + console.error("Error fetching reply like count:", err); } } } } - - setReplyLiked(initialLikedState); // Update state after all API calls + setReplyLiked(initialLikedState); }; - + fetchReplyLikes(); - }, [comments]); // Runs when comments are updated + }, [comments]); diff --git a/upload-server.js b/upload-server.js index dd8b0128c2c8ce8818bf7e24f175882e53c9b791..fbd0ebab360dc68ae78e38cfc68400e9ed8dcea1 100644 --- a/upload-server.js +++ b/upload-server.js @@ -272,6 +272,7 @@ app.get("/get-comments", async (req, res) => { // Post a reply to a comment (requires authentication) app.post("/post-reply", authenticateToken, async (req, res) => { + console.log("..............................................................................Auth token:", token); const db = dbRequest(dbHost); const { comment_id, reply } = req.body; const userId = req.user.userId;