mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 12:37:08 +00:00
Defines three levels of access: * read: anyone who is logged in * write: `user` and `admin` roles * admin: `admin` roles
32 lines
526 B
JavaScript
32 lines
526 B
JavaScript
|
|
|
|
async function read (req, res, next) {
|
|
if (req.user) {
|
|
next();
|
|
} else {
|
|
next({status: 403, message: "Access denied"});
|
|
}
|
|
}
|
|
|
|
async function write (req, res, next) {
|
|
if (req.user && (req.user.role == "user" || req.user.role == "admin")) {
|
|
next();
|
|
} else {
|
|
next({status: 403, message: "Access denied"});
|
|
}
|
|
}
|
|
|
|
async function admin (req, res, next) {
|
|
if (req.user && req.user.role == "admin") {
|
|
next();
|
|
} else {
|
|
next({status: 403, message: "Access denied"});
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
read,
|
|
write,
|
|
admin
|
|
};
|