Использование connect-flash с sequelize
У меня возникли проблемы с подключением вспышки для работы в функции обратного вызова sequelize.
router.route('/')
.post(function(aRequest, aResponse) {
var data = aRequest.body;
models.users.findOne({
where: {
email: data.email
}
}).then(function (aUser) {
if (!aUser) {
bcrypt.hash(data.password, null, null, function(err, hash) {
if(err) {
return next(err);
}
models.users.create({
firstname : data.firstname,
lastname : data.lastname,
email : data.email,
password : hash
}).then(function () {
aRequest.flash('success', 'User successfully created.');
}).done(function () {
aResponse.redirect('/login');
});
});
}
else {
// aRequest.flash('error', 'This email address is already registered');
aResponse.redirect('/login');
}
});
});
Выше приведен мой текущий код, я пробовал несколько его вариантов, вызывая flash и перенаправление в.then(), пробовал 2 .then() и теперь.done().
Я получаю следующую ошибку:
Необработанный отказ TypeError: undefined не является функцией Instance.set (/home/node/shared/Heroku/landbou/node_modules/sequelize/lib/instance.js:348:68)
Что легко решается удалением aRequest.flash(...).
И да, 'router.use (flash ());'зовется выше.
Все продолжается, так что это не ошибка приложения, но мне нужно, чтобы сообщения вспыхивали, в противном случае мне нужно создать дополнительные потерянные маршруты для обработки успеха / неудачи при регистрации пользователей.