Как проверить зарегистрирован пользователь в бд posqresql?

как можно сделать проверку на то, существует ли пользователь в бд Сделал регистрацию на node + postgresql

async registration(email, password) {
    const condidate = db.query("SELECT * FROM users WHERE email = $1", [email])

    if (condidate) {
        return `пользователь существует`
    }else {
        const hashPassword = await bcrypt.hash(password, 3)
        const activationLink = uuid.v4()


        const user = await db.query('INSERT INTO users (email,password,activationlink) VALUES($1,$2,$3) RETURNING *', [email, hashPassword, activationLink])
        await mailService.sendActivationMail(email, `${process.env.API_URL}/api/activate/${activationLink}`)
        const tokens = tokenService.generateToken({...user})
        await tokenService.saveToken(user.id, tokens.refreshtoken)

        return {
            ...tokens, user: user
        }
    }
}

Если сделать return condidate то выводится данные где есть email, но если я делаю return condidate.rows или return condidate.rowsCount то ничего не выводится и email с паролем добавляются в бд в любом случае.

Пользователь регистрируется даже если email уже есть в записях бд Как можно проверить существует ли пользователь в бд?


Ответы (0 шт):