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
|
||||
app.get("/results", (req, res) => {
|
||||
app.get("/results", async (req, res) => {
|
||||
try {
|
||||
const results = { count: {} };
|
||||
const getCount = new Promise((resolve, reject) => {
|
||||
db.all(
|
||||
"SELECT animal_name, button_name, COUNT(*) as count FROM button_clicks GROUP BY button_name, animal_name",
|
||||
(err, rows) => {
|
||||
if (err) {
|
||||
console.error("Error fetching results:", err.message);
|
||||
res.status(500).json({ error: "Internal server error" });
|
||||
reject("getCount: "+ err.message);
|
||||
} else {
|
||||
const results = { count: {} };
|
||||
rows.forEach((row) => {
|
||||
if (typeof results.count[row.animal_name] == "undefined") {
|
||||
results.count[row.animal_name] = {};
|
||||
}
|
||||
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) {
|
||||
console.error("Error fetching results:", error);
|
||||
res.status(500).json({ error: "Internal server error" });
|
||||
|
|
Loading…
Reference in a new issue