diff --git a/auth-manager.js b/auth-manager.js index 93cbf47..23dbbcf 100644 --- a/auth-manager.js +++ b/auth-manager.js @@ -64,6 +64,18 @@ module.exports = function() { } else { throw new Error('user_name does not exist'); } + }, + + changeDisplayName: async function(editedUser) { + var user = await UserAccount.findOne({user_name: editedUser.user_name}).exec(); + + if (user) { + user.displayed_name = editedUser.displayed_name; + + return await user.save(); + } else { + throw new Error('user_name does not exist'); + } } }; diff --git a/server.js b/server.js index eb1321d..6b02f13 100644 --- a/server.js +++ b/server.js @@ -68,6 +68,18 @@ app.post('/api/user/login', async (req, res) => { } }); +app.post('/api/user/changeDisplayName', async (req, res) => { + try { + let user = await auth.changeDisplayName(req.body); + let { user_name, displayed_name } = user; + let jwt_payload = { user_name, displayed_name }; + let token = jwt.sign(jwt_payload, jwtOptions.secretOrKey); + return res.json({success: true, token, message: `[${user_name}] succesfully changed display name to [${displayed_name}]`}); + } catch(e) { + return res.status(400).json({success: false, message: e.message}); + } +}); + app.get('/api/user/checkExist/:user_name', async (req, res) => { try { let user_name = req.params.user_name;