/var/www/qr4y.com/server/delivery/api/controllers/auth
NameSizeModeActions
app_sign_in.js21480644editdlrm
check_code.js17490644editdlrm
refresh_token.js11480644editdlrm
reset_password.js11110644editdlrm
reset_password_confirm.js17950644editdlrm
sign_in.js46650644editdlrm
sign_out.js4160644editdlrm
sign_up.js51870644editdlrm
Edit: /var/www/qr4y.com/server/delivery/api/controllers/auth/reset_password_confirm.js (1795B)
const bcrypt = require('bcryptjs') 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, password } = 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 }) } if (!isSet(password) || isEmpty(password)) { throw new BadRequest({ code: 1005, lang: req.user?.languageCode }) } // найти пользователя let 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 (!minLength(password, 4)) { throw new BadRequest({ code: 1011, lang: req.user?.languageCode }) } // сгененировать соль и создать хэш пароля const salt = await bcrypt.genSalt(10) user.passwordHash = await bcrypt.hash(password, salt) user.tempCode = '' await user.save() return res.status(200).json({ status: 'success' }) } catch (err) { next(err) } } }