1
0
mirror of https://github.com/matt-fidd/stratos.git synced 2026-01-01 23:19:29 +00:00

Reorder User constructor params

This commit is contained in:
2022-04-07 13:38:41 +00:00
parent 95b1636288
commit ad1a50d4f2
9 changed files with 16 additions and 17 deletions

View File

@@ -7,7 +7,7 @@ const User = require('./User');
class Account extends User { class Account extends User {
constructor(conn, id) { constructor(conn, id) {
super(conn, 'account', id); super(conn, id, 'account');
} }
async getTestTemplates() { async getTestTemplates() {

View File

@@ -5,7 +5,7 @@ const User = require('./User');
class Parent extends User { class Parent extends User {
constructor(conn, id) { constructor(conn, id) {
super(conn, 'parent', id); super(conn, id, 'parent');
} }
get children() { get children() {

View File

@@ -47,7 +47,7 @@ class PasswordReset {
} }
get user() { get user() {
return new (require('./User'))(this.#conn, null, this.userId); return new (require('./User'))(this.#conn, this.userId);
} }
static async hashToken(u) { static async hashToken(u) {
@@ -63,7 +63,7 @@ class PasswordReset {
} }
static async generatePasswordReset(conn, userId) { static async generatePasswordReset(conn, userId) {
const u = await new (require('./User'))(conn, null, userId); const u = await new (require('./User'))(conn, userId);
let sql = ` let sql = `
delete from passwordReset delete from passwordReset

View File

@@ -5,7 +5,7 @@ const User = require('./User');
class Student extends User { class Student extends User {
constructor(conn, id) { constructor(conn, id) {
super(conn, 'student', id); super(conn, id, 'student');
} }
get classes() { get classes() {

View File

@@ -24,11 +24,11 @@ class User {
#password; #password;
type = null; type;
_conn; _conn;
constructor(conn, type, userId) { constructor(conn, userId, type = null) {
type = type ?? false; type = type ?? false;
this._conn = conn; this._conn = conn;

View File

@@ -13,7 +13,7 @@ router.get('/', (req, res) => {
}); });
router.get('/dashboard', async (req, res) => { router.get('/dashboard', async (req, res) => {
const u = await new User(req.db, null, req.session.userId); const u = await new User(req.db, req.session.userId);
const recentTests = await u.getTests({ range: 'before' }); const recentTests = await u.getTests({ range: 'before' });
const upcomingTests = await u.getTests({ range: 'after' }); const upcomingTests = await u.getTests({ range: 'after' });
@@ -52,7 +52,7 @@ router.get('/dashboard', async (req, res) => {
router.all(/user\/(.{36})(\/.*)?/, async (req, res, next) => { router.all(/user\/(.{36})(\/.*)?/, async (req, res, next) => {
let u; let u;
try { try {
u = await new User(req.db, null, req.params[0]); u = await new User(req.db, req.params[0]);
} catch (e) { } catch (e) {
return res.status(400).render('error', { return res.status(400).render('error', {
title: 'Stratos - Error', title: 'Stratos - Error',
@@ -65,7 +65,6 @@ router.all(/user\/(.{36})(\/.*)?/, async (req, res, next) => {
if (!await u.hasAccess(await new User( if (!await u.hasAccess(await new User(
req.db, req.db,
null,
req.session.userId req.session.userId
))) )))
return res.redirect('/admin/dashboard'); return res.redirect('/admin/dashboard');

View File

@@ -11,7 +11,7 @@ const User = require('../lib/User');
const Subject = require('../lib/Subject'); const Subject = require('../lib/Subject');
router.get('/classes', async (req, res) => { router.get('/classes', async (req, res) => {
const u = await new User(req.db, null, req.session.userId); const u = await new User(req.db, req.session.userId);
return res.render('classes', { return res.render('classes', {
title: 'Stratos - Classes', title: 'Stratos - Classes',
@@ -70,8 +70,8 @@ router.all(/class\/(.{36})(\/.*)?/, async (req, res, next) => {
}); });
} }
if (!await c.hasAccess(await new User(req.db, if (!await c.hasAccess(await new User(
null, req.db,
req.session.userId req.session.userId
))) )))
return res.redirect('/admin/classes'); return res.redirect('/admin/classes');

View File

@@ -212,7 +212,7 @@ router.post('/:id/members/add2', async (req, res) => {
router.get('/:id/:userType(members|teachers)/:userId/remove', router.get('/:id/:userType(members|teachers)/:userId/remove',
async (req, res) => { async (req, res) => {
const c = req.class; const c = req.class;
const u = await new User(req.db, null, req.params.userId); const u = await new User(req.db, req.params.userId);
const userType = const userType =
req.params.userType === 'teachers' ? req.params.userType === 'teachers' ?
@@ -237,7 +237,7 @@ router.get('/:id/:userType(members|teachers)/:userId/remove',
router.post('/:id/:userType(members|teachers)/:userId/remove', router.post('/:id/:userType(members|teachers)/:userId/remove',
async (req, res) => { async (req, res) => {
const c = req.class; const c = req.class;
const u = await new User(req.db, null, req.params.userId); const u = await new User(req.db, req.params.userId);
const userType = req.params.userType; const userType = req.params.userType;
try { try {

View File

@@ -10,7 +10,7 @@ const User = require('../lib/User');
const Test = require('../lib/Test'); const Test = require('../lib/Test');
router.get('/tests', async (req, res) => { router.get('/tests', async (req, res) => {
const u = await new User(req.db, null, req.session.userId); const u = await new User(req.db, req.session.userId);
return res.render('tests', { return res.render('tests', {
title: 'Stratos - Tests', title: 'Stratos - Tests',
@@ -128,7 +128,7 @@ router.all(/test\/(.{36})(\/.*)?/, async (req, res, next) => {
} }
if (!await t.hasAccess(await new User( if (!await t.hasAccess(await new User(
req.db, null, req.db,
req.session.userId req.session.userId
))) )))
return res.redirect('/admin/tests'); return res.redirect('/admin/tests');