summaryrefslogtreecommitdiffstats
path: root/server/api/permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/api/permissions.js')
-rw-r--r--server/api/permissions.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/server/api/permissions.js b/server/api/permissions.js
index 45f656a..ca943a2 100644
--- a/server/api/permissions.js
+++ b/server/api/permissions.js
@@ -5,6 +5,20 @@ var express = require('express')
const { decorateApp } = require('@awaitjs/express')
var router = decorateApp(express.Router())
+// Permission check middleware
+router.all(['', '/:x'], async (req, res, next) => {
+ switch (req.method) {
+ case 'GET':
+ if (!await req.user.hasPermission('permissions.view')) return res.status(403).send({ error: 'Missing permission', permission: 'permissions.view' })
+ break
+
+ default:
+ return res.status(400).send()
+ }
+
+ next()
+})
+
/*
* @return: Returns if current user has given permission.
*/