From ba4ab368af5180063bf41bd6cb530404f8e650ef Mon Sep 17 00:00:00 2001 From: Weston Siegenthaler Date: Mon, 19 Mar 2018 18:18:44 -0700 Subject: [PATCH] manually set record version attribute during epilogue update --- src/epilogue.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/epilogue.js b/src/epilogue.js index 028911d..f009cc5 100644 --- a/src/epilogue.js +++ b/src/epilogue.js @@ -74,7 +74,18 @@ function EpilogueExport(embed, sequelize, epilogue) { /* Perform updates and skip the default write milestone */ resource.update.write.before((req, res, ctx) => { - ctx.instance.set(req.body); + if (options.prefetchUpdate) { + ctx.instance.set(req.body); + + /* Ensure version attribute is set */ + var ver = resource.model.options.version; + if (ver) { + ver = lo.isString(ver) ? ver : 'version'; + ctx.instance.set(ver, req.body[ver], { raw: true }); + ctx.instance.changed(ver, true); // force update + } + } else ctx.instance = req.body; + return update(resource.model, ctx.instance, include, options) .then(inst => ctx.instance = inst) .catch(handleError)