payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
44 lines (43 loc) • 4.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "beforeChange", {
enumerable: true,
get: function() {
return beforeChange;
}
});
const _errors = require("../../../errors");
const _deepCopyObject = require("../../../utilities/deepCopyObject");
const _traverseFields = require("./traverseFields");
const beforeChange = async ({ id, collection, context, data: incomingData, doc, docWithLocales, global, operation, req, skipValidation })=>{
const data = (0, _deepCopyObject.deepCopyObject)(incomingData);
const mergeLocaleActions = [];
const errors = [];
await (0, _traverseFields.traverseFields)({
id,
collection,
context,
data,
doc,
docWithLocales,
errors,
fields: collection?.fields || global?.fields,
global,
mergeLocaleActions,
operation,
path: '',
req,
siblingData: data,
siblingDoc: doc,
siblingDocWithLocales: docWithLocales,
skipValidation
});
if (errors.length > 0) {
throw new _errors.ValidationError(errors, req.t);
}
mergeLocaleActions.forEach((action)=>action());
return data;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzPFQ+ID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgZG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgZG9jV2l0aExvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBvcGVyYXRpb246IE9wZXJhdGlvblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNraXBWYWxpZGF0aW9uPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgYmVmb3JlQ2hhbmdlID0gYXN5bmMgPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBpZCxcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YTogaW5jb21pbmdEYXRhLFxuICBkb2MsXG4gIGRvY1dpdGhMb2NhbGVzLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcmVxLFxuICBza2lwVmFsaWRhdGlvbixcbn06IEFyZ3M8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgZGF0YSA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRGF0YSlcbiAgY29uc3QgbWVyZ2VMb2NhbGVBY3Rpb25zID0gW11cbiAgY29uc3QgZXJyb3JzOiB7IGZpZWxkOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9W10gPSBbXVxuXG4gIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbnRleHQsXG4gICAgZGF0YSxcbiAgICBkb2MsXG4gICAgZG9jV2l0aExvY2FsZXMsXG4gICAgZXJyb3JzLFxuICAgIGZpZWxkczogY29sbGVjdGlvbj8uZmllbGRzIHx8IGdsb2JhbD8uZmllbGRzLFxuICAgIGdsb2JhbCxcbiAgICBtZXJnZUxvY2FsZUFjdGlvbnMsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBhdGg6ICcnLFxuICAgIHJlcSxcbiAgICBzaWJsaW5nRGF0YTogZGF0YSxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gICAgc2libGluZ0RvY1dpdGhMb2NhbGVzOiBkb2NXaXRoTG9jYWxlcyxcbiAgICBza2lwVmFsaWRhdGlvbixcbiAgfSlcblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGVycm9ycywgcmVxLnQpXG4gIH1cblxuICBtZXJnZUxvY2FsZUFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24oKSlcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm5hbWVzIjpbImJlZm9yZUNoYW5nZSIsImlkIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJkYXRhIiwiaW5jb21pbmdEYXRhIiwiZG9jIiwiZG9jV2l0aExvY2FsZXMiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJyZXEiLCJza2lwVmFsaWRhdGlvbiIsImRlZXBDb3B5T2JqZWN0IiwibWVyZ2VMb2NhbGVBY3Rpb25zIiwiZXJyb3JzIiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJwYXRoIiwic2libGluZ0RhdGEiLCJzaWJsaW5nRG9jIiwic2libGluZ0RvY1dpdGhMb2NhbGVzIiwibGVuZ3RoIiwiVmFsaWRhdGlvbkVycm9yIiwidCIsImZvckVhY2giLCJhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0JhQTs7O2VBQUFBOzs7d0JBakJtQjtnQ0FDRDtnQ0FDQTtBQWV4QixNQUFNQSxlQUFlLE9BQTBDLEVBQ3BFQyxFQUFFLEVBQ0ZDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxNQUFNQyxZQUFZLEVBQ2xCQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLEdBQUcsRUFDSEMsY0FBYyxFQUNOO0lBQ1IsTUFBTVAsT0FBT1EsSUFBQUEsOEJBQWMsRUFBQ1A7SUFDNUIsTUFBTVEscUJBQXFCLEVBQUU7SUFDN0IsTUFBTUMsU0FBK0MsRUFBRTtJQUV2RCxNQUFNQyxJQUFBQSw4QkFBYyxFQUFDO1FBQ25CZDtRQUNBQztRQUNBQztRQUNBQztRQUNBRTtRQUNBQztRQUNBTztRQUNBRSxRQUFRZCxZQUFZYyxVQUFVUixRQUFRUTtRQUN0Q1I7UUFDQUs7UUFDQUo7UUFDQVEsTUFBTTtRQUNOUDtRQUNBUSxhQUFhZDtRQUNiZSxZQUFZYjtRQUNaYyx1QkFBdUJiO1FBQ3ZCSTtJQUNGO0lBRUEsSUFBSUcsT0FBT08sTUFBTSxHQUFHLEdBQUc7UUFDckIsTUFBTSxJQUFJQyx1QkFBZSxDQUFDUixRQUFRSixJQUFJYSxDQUFDO0lBQ3pDO0lBRUFWLG1CQUFtQlcsT0FBTyxDQUFDLENBQUNDLFNBQVdBO0lBRXZDLE9BQU9yQjtBQUNUIn0=