summaryrefslogtreecommitdiffstats
path: root/server/api/permissions.js
diff options
context:
space:
mode:
authorChristian Hofmaier2019-01-11 19:00:03 +0100
committerChristian Hofmaier2019-01-11 19:00:03 +0100
commit24d8374adc899df422c909ce8da33ecc990ec884 (patch)
treee6afe7f7ae9f3df0cd4be1b2e177dd6037a50a97 /server/api/permissions.js
parentTimeout dynamic config menu (diff)
downloadbas-24d8374adc899df422c909ce8da33ecc990ec884.tar.gz
bas-24d8374adc899df422c909ce8da33ecc990ec884.tar.xz
bas-24d8374adc899df422c909ce8da33ecc990ec884.zip
Change API to new structure
Diffstat (limited to 'server/api/permissions.js')
-rw-r--r--server/api/permissions.js112
1 files changed, 53 insertions, 59 deletions
diff --git a/server/api/permissions.js b/server/api/permissions.js
index 7894719..2e1d5bf 100644
--- a/server/api/permissions.js
+++ b/server/api/permissions.js
@@ -1,60 +1,54 @@
/* global __appdir */
var path = require('path')
var db = require(path.join(__appdir, 'lib', 'sequelize'))
+var express = require('express')
+var noAuthRouter = express.Router()
-// GET requests
-module.exports.get = {
-
- /*
+/*
* ?id=<ROLE_ID>
*
* @return: Returns the information about a role and it's permissions and groups.
*/
- getRoleById: function (req, res) {
- db.role.findOne({ where: { id: req.query.id }, include: ['permissions', 'groups'] }).then(role => {
- if (role) res.send(role)
- else res.status(404).end()
- })
- },
+noAuthRouter.get('/getRoleById/:id', (req, res) => {
+ db.role.findOne({ where: { id: req.params.id }, include: ['permissions', 'groups'] }).then(role => {
+ if (role) res.send(role)
+ else res.status(404).end()
+ })
+})
- /*
+/*
* @return: Returns a list of all roles in the database.
*/
- getRoleList: function (req, res) {
- db.role.findAll({
- attributes: ['id', 'name', 'descr']
- }).then(function (roles) {
- res.status(200).send(roles)
- })
- },
+noAuthRouter.get('/getRoleList', (req, res) => {
+ db.role.findAll({
+ attributes: ['id', 'name', 'descr']
+ }).then(function (roles) {
+ res.status(200).send(roles)
+ })
+})
- /*
+/*
* @return: Returns a list of all permissions in the database.
*/
- getPermissionList: function (req, res) {
- db.permission.findAll().then(function (permissions) {
- res.status(200).send(permissions)
- })
- }
-}
-
-// POST requests
-module.exports.post = {
+noAuthRouter.get('/getPermissionList', (req, res) => {
+ db.permission.findAll().then(function (permissions) {
+ res.status(200).send(permissions)
+ })
+})
- /*
+/*
* id: <ROLE_ID>
*
* Deletes the role to the given id.
*/
- deleteRoles: function (req, res) {
- const roleIds = req.body.id
+noAuthRouter.post('/deleteRoles', (req, res) => {
+ const roleIds = req.body.id
+ db.role.destroy({ where: { id: roleIds } }).then(function () {
+ res.status(200).send('success')
+ })
+})
- db.role.destroy({ where: { id: roleIds } }).then(function () {
- res.status(200).send('success')
- })
- },
-
- /*
+/*
* id: <ROLE_ID>
* name: <ROLE_NAME>
* descr: <ROLE_DESCRIPTION>
@@ -64,26 +58,26 @@ module.exports.post = {
*
* 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, recursiveGroups: role.recursiveMode }).then(roleDb => {
- var promises = []
- promises.push(roleDb.addPermissions(role.permissions))
- promises.push(roleDb.addGroups(role.groups))
- Promise.all(promises).then(() => { res.send({ id: role.id }) })
- })
- } else {
- // 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, recursiveGroups: role.recursiveMode }))
- promises.push(roleDb.setPermissions(role.permissions))
- promises.push(roleDb.setGroups(role.groups))
- Promise.all(promises).then(() => { res.send({ id: role.id }) })
- })
- }
+noAuthRouter.post('/saveRole', (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, recursiveGroups: role.recursiveMode }).then(roleDb => {
+ var promises = []
+ promises.push(roleDb.addPermissions(role.permissions))
+ promises.push(roleDb.addGroups(role.groups))
+ Promise.all(promises).then(() => { res.send({ id: role.id }) })
+ })
+ } else {
+ // 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, recursiveGroups: role.recursiveMode }))
+ promises.push(roleDb.setPermissions(role.permissions))
+ promises.push(roleDb.setGroups(role.groups))
+ Promise.all(promises).then(() => { res.send({ id: role.id }) })
+ })
}
-}
+})
+
+module.exports.noAuthRouter = noAuthRouter