summaryrefslogtreecommitdiffstats
path: root/server/api/permissions.js
diff options
context:
space:
mode:
authorChristian Hofmaier2018-08-05 01:42:49 +0200
committerChristian Hofmaier2018-08-05 01:42:49 +0200
commitd236e4c57a7f71589764efccd0cb36337d551055 (patch)
tree6d47dc6deface87f1985ce7daf26692e25838b16 /server/api/permissions.js
parent[store/global] simplified settings loading (diff)
downloadbas-d236e4c57a7f71589764efccd0cb36337d551055.tar.gz
bas-d236e4c57a7f71589764efccd0cb36337d551055.tar.xz
bas-d236e4c57a7f71589764efccd0cb36337d551055.zip
[permissions] add permission management
Add Roles Table with Delete Roles and Create Roles possibilities Add Users Table with Grant Roles and Revoke Roles possibilities
Diffstat (limited to 'server/api/permissions.js')
-rw-r--r--server/api/permissions.js52
1 files changed, 33 insertions, 19 deletions
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