aboutsummaryrefslogtreecommitdiff
path: root/auth/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'auth/index.js')
-rw-r--r--auth/index.js23
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);