Я пытаюсь добавить bycrypt в таблицу аутентификации, но получаю сообщение об ошибке, что authTable не определена при попытке добавить методы generateHash и validPassword.Есть ли что-то, чего я не понимаю в части authTables.methods?
Код работает, когда я комментирую части generateHash и validPassword, что заставляет меня поверить, что .methods - это зависание.
var bcrypt = require("bcryptjs");
module.exports = function (sequelize, DataTypes) {
var authTable = sequelize.define("authTable", {
username: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 30]
}
},
password: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [6, 20]
}
},
email: {
type: DataTypes.STRING,
allowNull: false,
validate: {
isEmail: true,
len: [1]
}
}
});
authTable.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(10), null);
};
authTable.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
return authTable;
}
Я ожидаю, что это приведет к таблице в базе данных с зашифрованным паролем.
Я получаю следующие ошибки:
TypeError: Невозможно установить свойство 'generateHash' из неопределенного.
TypeError: Невозможно установить свойство 'validPassword' из неопределенного