express: readying for multiple results
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
parent
0e4212d114
commit
e0bf0d8609
1 changed files with 12 additions and 5 deletions
|
@ -102,26 +102,33 @@ app.post("/recordButtonClick", (req, res) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Route to show the current results from SQLite
|
// Route to show the current results from SQLite
|
||||||
app.get("/results", (req, res) => {
|
app.get("/results", async (req, res) => {
|
||||||
try {
|
try {
|
||||||
|
const results = { count: {} };
|
||||||
|
const getCount = new Promise((resolve, reject) => {
|
||||||
db.all(
|
db.all(
|
||||||
"SELECT animal_name, button_name, COUNT(*) as count FROM button_clicks GROUP BY button_name, animal_name",
|
"SELECT animal_name, button_name, COUNT(*) as count FROM button_clicks GROUP BY button_name, animal_name",
|
||||||
(err, rows) => {
|
(err, rows) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error("Error fetching results:", err.message);
|
reject("getCount: "+ err.message);
|
||||||
res.status(500).json({ error: "Internal server error" });
|
|
||||||
} else {
|
} else {
|
||||||
const results = { count: {} };
|
|
||||||
rows.forEach((row) => {
|
rows.forEach((row) => {
|
||||||
if (typeof results.count[row.animal_name] == "undefined") {
|
if (typeof results.count[row.animal_name] == "undefined") {
|
||||||
results.count[row.animal_name] = {};
|
results.count[row.animal_name] = {};
|
||||||
}
|
}
|
||||||
results.count[row.animal_name][row.button_name] = row.count;
|
results.count[row.animal_name][row.button_name] = row.count;
|
||||||
});
|
});
|
||||||
res.json(results);
|
resolve();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
});
|
||||||
|
const getAvgTime = new Promise((resolve, reject) => {
|
||||||
|
//...
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
await Promise.all([getCount, getAvgTime]);
|
||||||
|
res.json(results);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error fetching results:", error);
|
console.error("Error fetching results:", error);
|
||||||
res.status(500).json({ error: "Internal server error" });
|
res.status(500).json({ error: "Internal server error" });
|
||||||
|
|
Loading…
Add table
Reference in a new issue