/var/www/qr4y.com/server/delivery/api/controllers/auth
Edit: /var/www/qr4y.com/server/delivery/api/controllers/auth/check_code.js (1749B)
const jwt = require('jsonwebtoken')
const config = require('../../../config/app.json')
const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../utils/validator.util')
const { BadRequest, Forbidden, NotFound } = require('../../responseModels/errors')
module.exports = function ({ db, logger }) {
return async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
// разбор и валидация запроса
const { email, code } = req.body
if (!isSet(email) || isEmpty(email)) {
throw new BadRequest({
code: 1003,
lang: req.user?.languageCode
})
}
if (!isSet(code) || isEmpty(code)) {
throw new BadRequest({
code: 1060,
lang: req.user?.languageCode
})
}
// найти пользователя
const user = await db.user.findOne({ where: { email: email } })
if (!user) {
throw new BadRequest({
code: 1028,
lang: req.user?.languageCode
})
}
if (user.tempCode != null && user.tempCode != '' && user.tempCode != code) {
throw new BadRequest({
code: 1061,
lang: req.user?.languageCode
})
}
if (user.emailConfirmed == null || user.emailConfirmed == false) {
user.emailConfirmed = true
result = await SERVICES.MailService.SendHtmlMail(user.email, 'Welcome to QR For You', '
Hello '+user.name+'!
Your email address has been verified.')
await user.save()
}
// user.tempCode = act_code
// await user.save()
// result = await SERVICES.MailService.SendHtmlMail(user.email, 'QR Activation Code', 'QR Activation Code:
' + act_code + '')
return res.status(200).json({status: 'success' })
} catch (err) {
next(err)
}
}
}