Итак, я впервые пытаюсь создать логин с помощью express и реагировать с помощью Postgres. Мой пользователь может быть добавлен в базу данных, поэтому я перешел к обработке дубликатов. Я использую функцию findUserByEmail, чтобы найти свою электронную почту, а затем в своих маршрутах вызываю эту функцию перед отправкой электронной почты. Я надеюсь, что вы, ребята, можете мне помочь, я уже 1 неделю с этим.
Это мои запросы. js где я:
const findUserByEmail = email => {
return pool.query("SELECT * FROM users WHERE email = $1", [email]);
};
const createUser = (request, response) => {
const date_created = new Date();
const { username, email, password } = request.body;
bcrypt.genSalt(saltRounds, function(err, salt) {
bcrypt.hash(password, salt, function(err, hash) {
pool.query(
`INSERT INTO users (username, email, password, date_created) VALUES ($1, $2, $3, $4 )`,
[username, email, hash, date_created],
(error, results) => {
// console.log("---------->", email);
if (error) {
throw error;
}
response.status(201).send(`User added with ID: ${results.insertId}`);
}
);
});
});
};
и это мой индекс. js:
// ...Other connection code
//Routes
app.get("/users", queries.getUsers);
app.get("/user/:id", queries.getUserById);
app.post("/signup/user", (req, res, next) => {
console.log(req.body.email, "----------1");
queries
.findUserByEmail(req.body.email)
.then(user => {
console.log(user.rows.length);
if (user.rows.length < 0) {
res.status(400).send("this email is already in use");
} else {
console.log("Hello");
queries.createUser;
}
})
.catch(err => {
console.log(err);
res.status(500).send("Something went wrong");
});
});
app.put("/user/:id", queries.updateUser);
app.delete("/user/:id", queries.deleteUser);
app.listen(port, () => {
console.log(`App running on port ${port}.`);
});
Не выдает ошибку, но, когда я отправляю нового пользователя, продолжает публиковать сообщения без изменений.
Мой запрос на публикацию работал до сих пор без использования findUserByEmail.
Спасибо за вашу помощь.