Есть такая функция для регистрации пользователей.
В ней содержится два запроса в базу: первый проверяет нет ли в базе такого пользователя(username), второй добавляет пользователя в базу.
Как эти два запроса подружить между собой? Нужна как то вернуть результат из первого запроса в условие if() и если пользователя нет в БД, вызываем второй запрос для добавления пользователя.
registration(req, res) {
try {
const errors = validationResult(req)
if (!errors.isEmpty()) {
return res.status(400).json({ message: 'Ошибка регистрации: ', errors })
}
const { username, password } = req.body
const q_search = `SELECT * FROM users WHERE username='${username}'`
const val = connection.query(q_search, (err, result) => {
if (err) {
return console.log(err)
}
})
if ('результат первого запроса в БД') {
return res
.status(400)
.json({ message: 'Пользователь с таким именем уже существует' })
}
const hashPassword = bcrypt.hashSync(password, 7)
const query = `INSERT INTO users (username, password) VALUES ('${username}','${hashPassword}')`
connection.query(query, (err, result) => {
if (err) {
return console.log(err)
}
res.send('User was created')
})
return res.json({ message: 'User was created' })
} catch (error) {
console.log(error)
res.status(400).json({ message: 'Registration error' })
}
}