diff options
Diffstat (limited to 'server/middlewares/admin.js')
-rw-r--r-- | server/middlewares/admin.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/server/middlewares/admin.js b/server/middlewares/admin.js new file mode 100644 index 000000000..bcb60ab95 --- /dev/null +++ b/server/middlewares/admin.js | |||
@@ -0,0 +1,22 @@ | |||
1 | 'use strict' | ||
2 | |||
3 | const constants = require('../initializers/constants') | ||
4 | const logger = require('../helpers/logger') | ||
5 | |||
6 | const adminMiddleware = { | ||
7 | ensureIsAdmin: ensureIsAdmin | ||
8 | } | ||
9 | |||
10 | function ensureIsAdmin (req, res, next) { | ||
11 | const user = res.locals.oauth.token.user | ||
12 | if (user.role !== constants.USER_ROLES.ADMIN) { | ||
13 | logger.info('A non admin user is trying to access to an admin content.') | ||
14 | return res.sendStatus(403) | ||
15 | } | ||
16 | |||
17 | return next() | ||
18 | } | ||
19 | |||
20 | // --------------------------------------------------------------------------- | ||
21 | |||
22 | module.exports = adminMiddleware | ||