@Artem641

Как правильно обработать результат запроса из БД?

Есть такая функция для регистрации пользователей.
В ней содержится два запроса в базу: первый проверяет нет ли в базе такого пользователя(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' })
    }
  }
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы