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/permissions.js | 52 ++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 19 deletions(-) (limited to 'server/api/permissions.js') diff --git a/server/api/permissions.js b/server/api/permissions.js index 52cd110..d55e7d9 100644 --- a/server/api/permissions.js +++ b/server/api/permissions.js @@ -1,28 +1,42 @@ /* global __appdir */ -var path = require('path') -var db = require(path.join(__appdir, 'lib', 'sequelize')) +var path = require('path'); +var db = require(path.join(__appdir, 'lib', 'sequelize')); module.exports = { // Return ID, Description and Name of a given RoleID - getRoleById: function (req, res) { + getRoleById: function(req, res) { var roleid = req.params.roleid - db.role.findById(roleid).then(robeDb => { - var role = { } - role.id = robeDb.id - role.descr = robeDb.descr - role.name = robeDb.name + db.role.findById(roleid, { + attributes: ['id', 'name', 'descr'] + // include: [{model: db.permission, as: 'permissions', attributes: ['id', 'name', 'descr', 'groupdependent'] }] + }).then(role => { res.status(200).send(role) }) }, - // Return all RoleIDs associated to a given UserID - getRolesByUserid: function (req, res) { - // var userid = req.query.userid; - // the usersxroles (and rolesxpermissions) models first have to get created - /* db.usersxroles.findAndCountAll({ where: { id: userid }, attributes: ['roleid'] }).then(roles_db => { - var result = { }; - result.count = roles_db.count; - result.roles = roles_db.rows; - res.status(200).send(result); - }); */ + + getRoleList: function(req, res) { + db.role.findAll({ + attributes: ['id', 'name', 'descr'] + }).then(function (roles) { + res.status(200).send(roles) + }) + }, + + getPermissionList: function(req, res) { + db.permission.findAll().then(function (permissions) { + res.status(200).send(permissions) + }) + }, + + deleteRoles: function(req, res) { + const roleIds = req.body.id + + db.role.destroy({ where: { id: roleIds } }).then(function() { + res.status(200).send('success') + }) + }, + + saveRole: function(req, res) { + } -} +} \ No newline at end of file -- cgit v1.2.3-55-g7522