sequelizeを使用していて、ユーザー登録をしたとき・パスワード変更をしたときにパスワードをハッシュ化してデータベースに保存したいのですが、以下のコードではユーザー登録したときにしかパスワードのハッシュ化ができなくて困っています。
私はエンジニアではないのですが、今エンジニアが書いたコードを自分で少し修正しないといけない状況で、自分で調べながらいろいろ試したのですがうまくいかなく、教えていただけると助かります。
もし他のファイルの情報も必要であれば、言っていただければと思います。
javascript
1const hash = require('password-hash'); 2module.exports = (sequelize, DataTypes) => { 3 var User = sequelize.define('User', { 4 username: DataTypes.STRING, 5 email: DataTypes.STRING, 6 about: DataTypes.STRING, 7 writer_id: DataTypes.STRING, 8 password: DataTypes.STRING, 9 profile_pic: DataTypes.STRING, 10 account_type: DataTypes.STRING 11 }, { 12 hooks: { 13 beforeCreate: (user, opts) => { 14 return user.password = hash.generate(user.password, { 15 saltLength: 4 16 }); 17 }, 18 beforeUpdate: (user, opts) => { 19 return user.password = hash.generate(user.password, { 20 saltLength: 4 21 }); 22 } 23 }, 24 classMethods: { 25 associate: (models) => { 26 // associations can be defined here 27 } 28 } 29 }); 30 return User; 31};
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/07 07:42
2017/03/07 07:44
退会済みユーザー
2017/03/07 11:47
2017/03/07 13:09
退会済みユーザー
2017/03/07 16:53