From 6ce2d3e55bbb4d0b34dd0c6274104a31c9b8e511 Mon Sep 17 00:00:00 2001 From: eeshsaxena Date: Sat, 22 Aug 2026 12:52:26 +0530 Subject: [PATCH] Fix attendance_app: await async readData() in /students and /download readData() returns a MongoDB find().toArray() promise, but /students did res.json(readData()) and /download did readData().map(...) with no await. So /students serialized a pending promise as {} and /download crashed on .map (a promise has no .map). Awaiting the promise returns the actual student list from both routes. --- attendance_app/server.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/attendance_app/server.js b/attendance_app/server.js index 4cc1a3c17..6036d1325 100644 --- a/attendance_app/server.js +++ b/attendance_app/server.js @@ -27,8 +27,8 @@ function writeData(data) { } -app.get("/students", (req, res) => { - res.json(readData()); +app.get("/students", async (req, res) => { + res.json(await readData()); }); app.post("/students", async (req, res) => { @@ -63,8 +63,8 @@ app.delete("/students/:id", (req, res) => { res.status(204).send(); }); -app.get("/download", (req, res) => { - const students = readData(); +app.get("/download", async (req, res) => { + const students = await readData(); const csvData = "Roll Number,Name,Attendance\n" + students.map(s => `${s.rollNumber},${s.name},${s.attendance}`).join("\n"); const filePath = path.join(__dirname, `attendance_${Date.now()}.csv`);