From d236e4c57a7f71589764efccd0cb36337d551055 Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Sat, 4 Aug 2018 23:42:49 +0000 Subject: [permissions] add permission management Add Roles Table with Delete Roles and Create Roles possibilities Add Users Table with Grant Roles and Revoke Roles possibilities --- server/api/user.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'server/api/user.js') diff --git a/server/api/user.js b/server/api/user.js index 0565d58..9aba1fc 100644 --- a/server/api/user.js +++ b/server/api/user.js @@ -26,5 +26,38 @@ module.exports = { user.name = userDb.name res.status(200).send(user) }) + }, + + getUserList: function(req, res) { + db.user.findAll({ + attributes: ['id', 'username', 'name'], + include: [{model: db.role, as: 'roles', attributes: ['name'] }] + }).then(function (users) { + res.status(200).send(users) + }) + }, + + grantRoles: function(req, res) { + const roleIds = req.body.roleIds + const userIds = req.body.userIds + + db.user.findAll({ where: { id: userIds } }).then(users => { + users.forEach(user => { + user.addRoles(roleIds) + }) + res.status(200).send('success') + }) + }, + + revokeRoles: function(req, res) { + const roleIds = req.body.roleIds + const userIds = req.body.userIds + + db.user.findAll({ where: { id: userIds } }).then(users => { + users.forEach(user => { + user.removeRoles(roleIds) + }) + res.status(200).send('success') + }) } } -- cgit v1.2.3-55-g7522