При попытке установить passwordResetToken
на null
я не могу быть пустым ошибки.Если я вручную выполню запрос к базе данных, никаких проблем.
Полный код для обновления пользователя выглядит следующим образом:
let user = await this.usersRepository.getById(userId);
// ...
const userData = {
encryptedPassword: await bcrypt.hash(
newPasswd,
Number(process.env.BCRYPT_ROUNDS)
),
passwordResetToken: null,
passwordResetExpires: null
};
user = await this.usersRepository.update(user.id, userData);
У меня определена модель, как таковая
const User = sequelize.define(
'user',
{
forename: DataTypes.STRING,
surname: DataTypes.STRING,
email: DataTypes.STRING,
encryptedPassword: DataTypes.STRING,
passwordResetToken: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
validate: {
notEmpty: false
}
},
passwordResetExpires: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: null,
validate: {
isDate: true
}
}
},
{
classMethods: {
associate() {
// associations can be defined here
}
}
}
);
Как видите, allowNull
имеет значение true, defaultValue
имеет значение null, а validate: notEmpty
установлено на false.Чего мне не хватает?
Использование sequelize v4.42.0
Диалект 'mysql'