Add authorisation middleware.

Defines three levels of access:
* read: anyone who is logged in
* write: `user` and `admin` roles
* admin: `admin` roles
This commit is contained in:
D. Berge
2020-10-12 19:42:02 +02:00
parent 5594b6863c
commit 3c86981dc6
2 changed files with 32 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
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
};

View File

@@ -1,4 +1,4 @@
exports.jwt = require('./jwt');
// exports.access = require('./access');
exports.authentify = require('./authentify');
exports.access = require('./access');