summaryrefslogtreecommitdiffstats
path: root/server/api/roles.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/api/roles.js')
-rw-r--r--server/api/roles.js18
1 files changed, 11 insertions, 7 deletions
diff --git a/server/api/roles.js b/server/api/roles.js
index d90d1bd..4d75bfb 100644
--- a/server/api/roles.js
+++ b/server/api/roles.js
@@ -59,13 +59,17 @@ router.postAsync(['', '/:id'], async (req, res) => {
res.send({ id: req.body.id })
} else {
// Update existing role
- roleDb = await db.role.findOne({ where: { id: req.body.id } })
- promises.push(roleDb.update({ name: req.body.name, descr: req.body.descr }))
- promises.push(roleDb.setPermissions(req.body.permissions))
- promises.push(roleDb.setGroups(req.body.groups, { through: { blacklist: 0 } }))
- promises.push(roleDb.addGroups(req.body.blacklist, { through: { blacklist: 1 } }))
- await Promise.all(promises)
- res.send({ id: req.body.id })
+ roleDb = await db.role.findOne({ where: { id: req.params.id } })
+ if (roleDb !== null) {
+ promises.push(roleDb.update({ name: req.body.name, descr: req.body.descr }))
+ promises.push(roleDb.setPermissions(req.body.permissions))
+ promises.push(roleDb.setGroups(req.body.groups, { through: { blacklist: 0 } }))
+ promises.push(roleDb.addGroups(req.body.blacklist, { through: { blacklist: 1 } }))
+ await Promise.all(promises)
+ res.send({ id: req.params.id })
+ } else {
+ res.status(404).end()
+ }
}
}
})