Я создаю приложение Node Express с Postgres как DB и Sequelize как ORM.
У меня есть файл router.js
:
router.route('/publish')
.put((...args) => controller.publish(...args));
controller.js
, который выглядит какэто:
publish(req, res, next) {
helper.publish(req)
.then((published) => {
res.send({ success: true, published });
});
}
И helper.js
publish(req) {
return new Promise((resolve, reject) => {
Article.findAll({
where: { id: req.query.article_id },
attributes: ['id', 'state']
})
.then((updateState) => {
updateState.updateAttributes({
state: 2
});
})
.then((updateState) => {
resolve(updateState);
});
});
}
Так, например, когда я нажимаю PUT http://localhost:8080/api/publish?article_id=3555
, я должен получить:
{
"success": true,
"published": [
{
"id": 3555,
"state": 2
}
]
}
Текущийсостояние статьи: 1.
Однако я получаю следующую ошибку Unhandled rejection TypeError: updateState.updateAttributes is not a function
.Когда я удаляю часть updateState.updateAttributes
из моего helper.js, я получаю ответ с текущим состоянием.
Как правильно обновить состояние статьи?