Node.js, при отправлении запроса, он не может пройти проверку, хотя вроде бы всё правильно

Пишу на node.js и использую бд postgres без орм, напрямую пишу запросы.

class UserController {
async registration(req, res, next) {
    const {id, email, password, role} = req.body
    if (!email || !password) {
        return next(ApiError.badRequest('Некорректный email или password'))
    }
    const candidate = await db.query('SELECT * FROM user WHERE email = ${email} LIMIT 1')
    if (candidate) {
        return next(ApiError.badRequest('Пользователь с таким email уже существует'))
    }
    const hashPassword = await bcrypt.hash(password, 5)
    const user = await db.query('INSERT INTO users (id, email, password, role) values($1, $2, $3) RETURNING *', [id, email, hashPassword, role] )

    const token = generateJwt(user_id, user.email, user.role)
    res.json(user)
    return res.json({token})
}

Не могу понять, почему когда отправляю запрос, он не проходит первую проверку на емейл и не даёт добавить пользователя. То есть пишет, что якобы такой пользователь уже существует. Хотя таблица вообще пустая.


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