Alexandre Bodin c364fcd0e2 Move lifecycles to sub field and added documentation
Signed-off-by: Alexandre Bodin <bodin.alex@gmail.com>
2020-05-04 10:55:08 +02:00

21 lines
583 B
JavaScript

'use strict';
const _ = require('lodash');
const executeLifecycleHook = async (lifecycle, model, ...args) => {
if (_.has(model, `lifecycles.${lifecycle}`)) {
await model.lifecycles[lifecycle](...args);
}
};
const executeBeforeLifecycleHook = (lifecycle, model, ...args) =>
executeLifecycleHook(`before${_.upperFirst(lifecycle)}`, model, ...args);
const executeAfterLifecycleHook = (lifecycle, model, ...args) =>
executeLifecycleHook(`after${_.upperFirst(lifecycle)}`, model, ...args);
module.exports = {
executeBeforeLifecycleHook,
executeAfterLifecycleHook,
};