/* global __appdir */ var path = require('path') var db = require(path.join(__appdir, 'lib', 'sequelize')) // GET requests module.exports.get = { getUserInfo: function (req, res) { db.user.findOne({ where: { id: req.user.id } }).then(userDb => { var user = { } user.id = userDb.id user.username = userDb.username user.email = userDb.email user.name = userDb.name res.status(200).send(user) }) }, /* * @return: Returns a list of all users in the database and their given roles. */ getUserList: function (req, res) { db.user.findAll({ attributes: ['id', 'username', 'name'], include: ['roles'] }).then(function (users) { res.status(200).send(users) }) } } // POST requests module.exports.post = { /* * roleIds: * userIds: * * Adds the given roles to the given users in the database. */ grantRoles: function (req, res) { const roleIds = req.body.roleIds const userIds = req.body.userIds db.user.findAll({ where: { id: userIds } }).then(users => { users.forEach(user => { user.addRoles(roleIds) }) res.status(200).send('success') }) }, /* * roleIds: * userIds: * * Removes the given roles from the given users in the database. */ revokeRoles: function (req, res) { const roleIds = req.body.roleIds const userIds = req.body.userIds db.user.findAll({ where: { id: userIds } }).then(users => { users.forEach(user => { user.removeRoles(roleIds) }) res.status(200).send('success') }) } }