Проверка пользователя в БД Postgrsql на Nod.js

Viewed 15

Не получатся проверить email пользователя в БД, точнее проверка проходит а вот на то что есть или нету email в БД не получается rows возвращается а вот что делать дальше не разберусь. Пишу цикл для запроса, Бд зависает. При ответе что есть email нужно не регистрировать пользователя а при отрицательном ответе пользователя нужно зарегистрировать. Node.js Тот код который закомментирован это регистрация пользователя. Благодарен за любую помощь.

Вот мой код:

const db = require('../db')
const bcrypt = require('bcrypt')
//const { json } = require('express')

class userController {
    async createUser  (req, res) {
        try{

            const {name, surname, email, pass, pass2} = req.body

               db.query('SELECT * FROM users WHERE email = $1', [email] , (err, row) =>{

                if(err){
                    console.log('Error executing query', err.stack);
                }
                //res.json(row)
                let isTrue=false
                if(row){
                    for(let i=0; i < row.length; i++){
                        if(row[i].email == email){
                            isTrue = true;
                            row.json({"message": "C данным email пользователь есть"})
                        }else{
                            row.json({"message": " Регистрирую пользователя"})
                        }
                    }
                }
                
              });

              
            
                /*if(pass==pass2){
                    const hashPass = bcrypt.hashSync(pass, 15)
                    const hashPass2 = bcrypt.hashSync(pass2, 15)
        
                    const newPerson = await db.query(`INSERT INTO users(name, surname, email, pass, pass2) values ($1, $2, $3, $4, $5) RETURNING *`, [name, surname, email, hashPass, hashPass2])
                    res.json(newPerson.rows)
                }else{
                    res.json({"message" : "пароли не совпадают"})
                }*/
            

        } catch(e){
            console.log(e)
            res.send({message: "Server error"})

        }
        

    }
 
0 Answers
Related