У меня есть пользовательская таблица, которая связана с таблицей привилегий в отношении один ко многим (у пользователя много привилегий), я хочу знать, как правильно и правильно обновить пользовательские привилегии.
Здесь код, который я написал, но я чувствую, что это не правильный способ сделать это:
update(req, res) {
db.sequelize
.transaction()
.then(t => {
Group.findByPk(req.params.id).then(group => {
if (!group)
return res.status(404).send({
error: "Ce groupe n'éxiste pas"
});
GroupPrivilege.destroy({
where: { groupId: req.params.id },
transaction: t
}).then(resDestroy => {
req.body.group_privileges.forEach(element => {
element.groupId = req.params.id;
});
GroupPrivilege.bulkCreate(req.body.group_privileges, {
transaction: t
}).then(resCreatePrivileges => {
delete req.body.group_privileges;
console.log(req.body);
Group.update(req.body, {
where: { id: req.params.id },
transaction: t
}).then(resSave => {
t.commit();
return res.status(200).send("");
});
});
});
});
})
.catch(err => {
t.rollback();
return res.status(400).send(err);
});
}