summaryrefslogtreecommitdiffstats
path: root/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'server/api')
-rw-r--r--server/api/permissions.js9
1 files changed, 5 insertions, 4 deletions
diff --git a/server/api/permissions.js b/server/api/permissions.js
index 5ed09e0..7894719 100644
--- a/server/api/permissions.js
+++ b/server/api/permissions.js
@@ -59,16 +59,17 @@ module.exports.post = {
* name: <ROLE_NAME>
* descr: <ROLE_DESCRIPTION>
* permissions: <PERMISSION_IDS>
- * groups: <GROUP_IDS>
+ * groups: <GROUP_IDS>,
+ * recursiveMode: < RECURSIVE_MODE>
*
- * Creates or updates a role.
+ * Creates or updates a role. If recursiveMode is set to true, the <GROUP_IDS> are saved with childs.
*/
saveRole: function (req, res) {
const role = req.body
if (role.id === 0) {
// Insert new role in the db.
- db.role.create({ name: role.name, descr: role.descr }).then(roleDb => {
+ db.role.create({ name: role.name, descr: role.descr, recursiveGroups: role.recursiveMode }).then(roleDb => {
var promises = []
promises.push(roleDb.addPermissions(role.permissions))
promises.push(roleDb.addGroups(role.groups))
@@ -78,7 +79,7 @@ module.exports.post = {
// Update an existing role in the db.
db.role.findOne({ where: { id: role.id } }).then(roleDb => {
var promises = []
- promises.push(roleDb.update({ name: role.name, descr: role.descr }))
+ promises.push(roleDb.update({ name: role.name, descr: role.descr, recursiveGroups: role.recursiveMode }))
promises.push(roleDb.setPermissions(role.permissions))
promises.push(roleDb.setGroups(role.groups))
Promise.all(promises).then(() => { res.send({ id: role.id }) })