mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-02 01:19:31 +00:00
Added Class.hasAccess to validate user input and add security
This commit is contained in:
@@ -196,6 +196,14 @@ class Class {
|
|||||||
return await Promise.all(testObjects);
|
return await Promise.all(testObjects);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async hasAccess(u) {
|
||||||
|
const userClasses = await u.getClasses();
|
||||||
|
|
||||||
|
return userClasses.filter(c => {
|
||||||
|
return c.id === this.id;
|
||||||
|
}).length;
|
||||||
|
}
|
||||||
|
|
||||||
addTeacher() {
|
addTeacher() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ router.get('/class/:id', async (req, res) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!await c.hasAccess(await new User(null, req.session.userId)))
|
||||||
|
return res.redirect('/admin/classes');
|
||||||
|
|
||||||
const linkRoot = `/class/${c.id}`;
|
const linkRoot = `/class/${c.id}`;
|
||||||
|
|
||||||
return res.render('class', {
|
return res.render('class', {
|
||||||
|
|||||||
Reference in New Issue
Block a user