UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

44 lines (43 loc) 4.97 kB
"use strict"; 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=