@kitmi/data
Version:
Jacaranda Framework Data Access Model
49 lines (48 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, /**
* A rule specifies the change of state will be tracked automatically.
* @module EntityFeatureRuntime_ChangeLog
*/ "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _Rules = /*#__PURE__*/ _interop_require_default(require("../Rules"));
const _types = require("@kitmi/types");
const _helpers = require("../helpers");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function addCreatedBy_(entityModel, feature, context) {
if (context.options.$migration) {
context.latest[feature.fields.createdBy] = feature.migrationUser;
return true;
}
const uid = entityModel.getValueFromContext(context, feature.uidSource);
if (uid == null) {
throw new _types.InvalidArgument(`Request context "${feature.uidSource}" not found. Entity: ${entityModel.meta.name}`);
}
context.latest[feature.fields.createdBy] = uid;
return true;
}
function addUpdatedBy_(entityModel, feature, context) {
if (context.options.$skipFeatures?.includes('userEditTracking')) return true;
const uid = entityModel.getValueFromContext(context, feature.uidSource);
if (uid == null) {
throw new _types.InvalidArgument(`Context "${feature.uidSource}" not found.`);
}
context.latest[feature.fields.updatedBy] = uid;
context.latest[feature.fields.revision] = (0, _helpers.doInc)(feature.fields.revision, 1);
// revision++
return true;
}
const _default = {
[_Rules.default.RULE_BEFORE_VALIDATION]: (feature, entityModel, context)=>context.op === 'create' ? addCreatedBy_(entityModel, feature, context) : addUpdatedBy_(entityModel, feature, context)
};
//# sourceMappingURL=userEditTracking.js.map