-
Alexandru Munteanu authoredca345ca2
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
const { services } = require('pubsweet-component-helper-service')
module.exports = models => async (req, res) => {
const { email, password, token } = req.body
if (!services.checkForUndefinedParams(email, password, token))
return res.status(400).json({ error: 'missing required params' })
if (password.length < 7)
return res
.status(400)
.json({ error: 'password needs to be at least 7 characters long' })
const validateResponse = await services.validateEmailAndToken({
email,
token,
userModel: models.User,
})
if (validateResponse.success === false)
return res
.status(validateResponse.status)
.json({ error: validateResponse.message })
let { user } = validateResponse
req.body.isConfirmed = true
req.body.isActive = true
delete user.passwordResetToken
delete user.passwordResetTimestamp
delete req.body.token
user = await user.updateProperties(req.body)
user = await user.save()
res.status(200).json(user)
}