@@ -293,12 +293,10 @@ module.exports = function(crowi) {
});
};
- userSchema.methods.makeAdmin = function(callback) {
+ userSchema.methods.makeAdmin = async function() {
debug('Admin', this);
this.admin = 1;
- this.save((err, userData) => {
- return callback(err, userData);
- });
+ return this.save();
userSchema.methods.asyncMakeAdmin = async function(callback) {
@@ -459,6 +459,7 @@ module.exports = function(crowi, app) {
+ // TODO remove
actions.user.makeAdmin = function(req, res) {
const id = req.params.id;
User.findById(id, (err, userData) => {
@@ -123,8 +123,15 @@ module.exports = (crowi) => {
router.put('/:id/giveAdmin', loginRequiredStrictly, adminRequired, csrf, async(req, res) => {
const { id } = req.params;
- const userData = await User.findById(id);
- return res.apiv3({ userData });
+ try {
+ const userData = await User.findById(id);
+ await userData.makeAdmin();
+ return res.apiv3({ userData });
+ }
+ catch (err) {
+ logger.error('Error', err);
+ return res.apiv3Err(new ErrorV3(err));
/**
* @swagger