Skip to content

Commit 7058672

Browse files
committed
Merge branch 'epilogue-optlock-issue'
* epilogue-optlock-issue: manually set record version attribute during epilogue update ensure errors propagate during update
2 parents b0c930e + ba4ab36 commit 7058672

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/epilogue.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,19 @@ function EpilogueExport(embed, sequelize, epilogue) {
7474

7575
/* Perform updates and skip the default write milestone */
7676
resource.update.write.before((req, res, ctx) => {
77-
ctx.instance.set(req.body);
78-
update(resource.model, ctx.instance, include, options)
77+
if (options.prefetchUpdate) {
78+
ctx.instance.set(req.body);
79+
80+
/* Ensure version attribute is set */
81+
var ver = resource.model.options.version;
82+
if (ver) {
83+
ver = lo.isString(ver) ? ver : 'version';
84+
ctx.instance.set(ver, req.body[ver], { raw: true });
85+
ctx.instance.changed(ver, true); // force update
86+
}
87+
} else ctx.instance = req.body;
88+
89+
return update(resource.model, ctx.instance, include, options)
7990
.then(inst => ctx.instance = inst)
8091
.catch(handleError)
8192
.then(ctx.skip);

0 commit comments

Comments
 (0)