From 3cb5929ea36ecb4da7f2141d2488eb467d028da6 Mon Sep 17 00:00:00 2001 From: matt Date: Tue, 29 Mar 2022 10:10:46 +0000 Subject: [PATCH] Add Class.addUser and scaffolding for Class.removeUser --- lib/Class.js | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/lib/Class.js b/lib/Class.js index 4d916e1..c18719e 100644 --- a/lib/Class.js +++ b/lib/Class.js @@ -206,12 +206,40 @@ class Class { }).length; } - addTeacher() { + async addUser(u) { + const validTypes = [ 'account', 'student' ]; + if (!validTypes.includes(u.type)) + throw new Error('Invalid user type'); + + const sql = ` + insert into ${u.type}ClassLink( + ${u.type}Id, + classId) + values + (?, ?); + `; + + try { + await this.#conn.runQuery(sql, [ + u.id, + this.id + ]); + } catch (e) { + console.error(e); + throw new Error('Could not add user to class'); + } } - removeTeacher() { - + removeUser(u) { + switch (u.type) { + case 'account': + break; + case 'student': + break; + default: + throw new Error('Invalid user type'); + } } calculateAverageMovement() {