diff options
Diffstat (limited to 'auth/index.js')
-rw-r--r-- | auth/index.js | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/auth/index.js b/auth/index.js index d80e673..1ea6290 100644 --- a/auth/index.js +++ b/auth/index.js @@ -58,13 +58,22 @@ app.post("/api/password", checkUser, async (req, res) => { app.get("/api/list", checkUser, async (req, res) => { let users; - if (req.query.class === "all") { - users = await db.query("SELECT id, name, middlename, surname, class_id FROM users ORDER BY class_id, name"); - } else { - users = await db.query( - "SELECT id, name, middlename, surname, class_id FROM users WHERE class_id = (SELECT class_id FROM users WHERE id = ?) AND id != ? ORDER BY name", - [req.session.uid, req.session.uid], - ); + try { + if (req.query.class === "all") { + users = await db.query("SELECT id, name, middlename, surname, class_id FROM users ORDER BY class_id, name"); + } else if (req.query.class === "teacher") { + users = await db.query( + "SELECT id, name, middlename, surname, class_id FROM users WHERE type_id = 2 ORDER BY class_id, name", + ); + } else { + users = await db.query( + "SELECT id, name, middlename, surname, class_id FROM users WHERE class_id = (SELECT class_id FROM users WHERE id = ?) AND id != ? ORDER BY name", + [req.session.uid, req.session.uid], + ); + } + } catch (e) { + console.error(e); + return res.send("error"); } res.json(users); |