diff --git a/lib/Parent.js b/lib/Parent.js index 4433a31..9ef3a52 100644 --- a/lib/Parent.js +++ b/lib/Parent.js @@ -8,8 +8,26 @@ class Parent extends User { super(conn, id, 'parent'); } - get children() { + async getChildren(fetchObjects = true) { + const sql = ` + select + studentId + from + studentParentLink + where + parentId = ?; + `; + const children = await this._conn.runQuery(sql, [ this.id ]); + + const childrenIds = children.map(c => c.studentId); + + if (!fetchObjects) + return childrenIds; + + return await Promise.all(childrenIds.map(id => { + return new User(this._conn, id, 'student'); + })); } static async createParent(conn, fname, oname, lname, email, password) {