0
アソシエーションを作成した後にユーザーを保存すると、User.beforeUpdateフックがトリガーされます。セイルjs - モデル関連のセーブトリガーbeforeUpdate issue
私が抱えている問題は、values引数に何らかの理由でユーザーオブジェクト全体が含まれていることです。
私はUser.afterCreateフックで、このようにユーザー権限をユーザーに関連付けています。
Permission.getPermission(path,roleStr)
.then((permission) => {
User.findOne({id:user.id})
.populate('permissions')
.then((resUser) => {
resUser.permissions.add(permission.id);
resUser.save((err) => {
if(err) return deferred.reject(err);
return deferred.resolve();
});
})
.catch((err) => {});
})
.catch(function (err) {
console.log("addPermissionToUser Failed", err);
deferred.reject(err);
});
.save()メソッドが呼び出された後、User.beforeUpateがこのオブジェクトに渡されます。
{
email: '[email protected]',
firstName: 'Super',
lastName: 'SuperAdmin',
password: '$2a$10$0snWTh65eU9L6gPFYbRAV.seyGSit5v1gefp4asL3MGGKWRlv8QwK',
emailVerified: true,
provider: 'local',
profileCompleted: true,
dob: null,
verificationCode: '1486421848265-AU6A6NHQtY5AU2Bl',
uid: 'super-man',
createdAt: 2017-02-06T22:57:28.471Z,
updatedAt: 2017-02-06T22:57:28.471Z,
id: '5898ff58ffc05b1c221ac262'
}
彼らが戻って全体のユーザーオブジェクトを取得することは問題であり、存在する場合、特定の値を変換のBeforeUpdate内の他のロジックがありますので。
なぜユーザーオブジェクトはbeforeUpdateに渡されますか? User.updateルートに明示的に投稿した値であるとは思われませんか?