refactoring email notification, closes #8
This commit is contained in:
@@ -186,7 +186,12 @@ const userController = {
|
||||
if (!recover_code) return res.sendStatus(400)
|
||||
const user = await User.findOne({ where: { recover_code: { [Op.eq]: recover_code } } })
|
||||
if (!user) return res.sendStatus(400)
|
||||
res.json(user)
|
||||
try {
|
||||
await user.update({ recover_code: ''})
|
||||
res.sendStatus(200)
|
||||
} catch (e) {
|
||||
res.sendStatus(400)
|
||||
}
|
||||
},
|
||||
|
||||
async updatePasswordWithRecoverCode(req, res) {
|
||||
@@ -195,6 +200,7 @@ const userController = {
|
||||
if (!recover_code || !password) return res.sendStatus(400)
|
||||
const user = await User.findOne({ where: { recover_code: { [Op.eq]: recover_code } } })
|
||||
if (!user) return res.sendStatus(400)
|
||||
user.recover_code = ''
|
||||
user.password = password
|
||||
try {
|
||||
await user.save()
|
||||
@@ -218,8 +224,8 @@ const userController = {
|
||||
async update(req, res) {
|
||||
const user = await User.findByPk(req.body.id)
|
||||
if (user) {
|
||||
if (!user.is_active && req.body.is_active) {
|
||||
await mail.send(user.email, 'confirm', { user, config })
|
||||
if (!user.is_active && req.body.is_active && user.recover_code) {
|
||||
mail.send(user.email, 'confirm', { user, config })
|
||||
}
|
||||
await user.update(req.body)
|
||||
res.json(user)
|
||||
@@ -240,9 +246,11 @@ const userController = {
|
||||
req.body.is_active = false
|
||||
}
|
||||
|
||||
req.body.recover_code = crypto.randomBytes(16).toString('hex')
|
||||
const user = await User.create(req.body)
|
||||
try {
|
||||
mail.send([user.email, config.admin], 'register', { user, config })
|
||||
mail.send(user.email, 'register', { user, config })
|
||||
mail.send(config.admin, 'admin_register', { user, config })
|
||||
} catch (e) {
|
||||
return res.status(400).json(e)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user