Отладка кода проекта. Почему эта функция не определена? - PullRequest
0 голосов
/ 16 марта 2020

Итак, я получаю user.save - это не функция, и я не могу понять, почему он говорит, что это не функция, я добавил ошибочный резерв, и он все еще не исправил это. Просто интересно, что некоторые из вас думают, что проблема может быть?

пользователей. js:

  router.post("/login", async function(req, res, next) {
  const { email, password } = req.body;

  const user = new UserModel(null, null, email, password);
  const loginResponse = await user.userLogin();
  // console.log('login response is', loginResponse);
  if (!!loginResponse.isValid) {
    req.session.is_logged_in = loginResponse.isValid;
    req.session.user_id = loginResponse.id;
    req.session.name = loginResponse.name;
    res.redirect("/");
  } else {
    res.sendStatus(403);
  }
});


      router.post("/register", async (req, res) => {
      const { name, email } = req.body;
      const salt = bcrypt.genSaltSync(10);
      const hash = bcrypt.hashSync(req.body.password, salt);

      const user = new UserModel(null, name, email, hash);
      user.save().then(() => {
        res.redirect("/users/login");
      });
    });

Кроме того, userModel может быть использован только в модели: const db = require ("./ conn");

class User {
  constructor(id, job_id, bookmark_id, name, email, password) {
    this.id = id;
    this.job_id;
    this.bookmark_id;
    this.name = name;
    this.email = email;
    this.password = password;
  }
  async addUser() {
    try {
      const response = await db.one(
        "INSERT INTO applicants (name, email, password) VALUES ($1, $2, $3) RETURNING id;",
        [this.name, this.email, this.password]
      );
      return response;
    } catch (error) {
      console.error("ERROR", error);
      return error;
    }
  }

  async loginUser() {
    try {
      const response = await db.one(
        `SELECT id, name, password FROM applicants WHERE email = $1;`,
        [this.email]
      );
      console.log("response is", response);
      const isValid = this.checkpassword(response.password);
      if (!!isValid) {
        const { id, name } = response;
        return { isValid, id, name };
      } else {
        return { isValid };
      }
    } catch (error) {
      console.error("ERROR", error);
      return error;
    }
  }
}
module.exports = User;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...