dchnk
@dchnk
WebFullstackDeveloper

Как ограничить поля возвращаемые sequelize при создании нового пользователя?

Здравствуйте, пожалуйста, подскажите как мне не возвращать пароль пользователю при его успешной регистрации. На данный момент я не придумал ничего лучше, чем привести ответ sequelize в JSON и методом delete исключить поле password. Может быть есть более ёмкий и изящный вариант? Благодарю!

return User.findOne({ where: { email: email } })
    .then((user) => {
      if (user) {
        return next(new ConflictError('Пользователь уже существует'));
      }
      return bcrypt.hash(password, 10)
        .then((hash) => User.create({
          email, password: hash, secondName, firstName,
        }))
        .then((newUser) => {
          const obj = newUser.toJSON()
          delete obj.password;
          res.status(201).send(obj)
        })
    })
    .catch((error) => {
      if (error.name === 'ValidationError') {
        return next(new BadRequestError('Введенные данные некорректны'));
      }
      return next(error);
    });
};
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы