payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
57 lines (56 loc) • 6.76 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return updateHandler;
}
});
const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
const _formatSuccess = /*#__PURE__*/ _interop_require_default(require("../../express/responses/formatSuccess"));
const _getTranslation = require("../../utilities/getTranslation");
const _update = /*#__PURE__*/ _interop_require_default(require("../operations/update"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
async function updateHandler(req, res, next) {
try {
const draft = req.query.draft === 'true';
const result = await (0, _update.default)({
collection: req.collection,
data: req.body,
depth: parseInt(String(req.query.depth), 10),
draft,
req,
where: req.query.where
});
if (result.errors.length === 0) {
const message = req.t('general:updatedCountSuccessfully', {
count: result.docs.length,
label: (0, _getTranslation.getTranslation)(req.collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'], req.i18n)
});
res.status(_httpstatus.default.OK).json({
...(0, _formatSuccess.default)(message, 'message'),
...result
});
return;
}
const total = result.docs.length + result.errors.length;
const message = req.t('error:unableToUpdateCount', {
count: result.errors.length,
label: (0, _getTranslation.getTranslation)(req.collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),
total
});
res.status(_httpstatus.default.BAD_REQUEST).json({
...(0, _formatSuccess.default)(message, 'message'),
...result
});
} catch (error) {
next(error);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9yZXF1ZXN0SGFuZGxlcnMvdXBkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uLCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQsIFdoZXJlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmltcG9ydCBmb3JtYXRTdWNjZXNzUmVzcG9uc2UgZnJvbSAnLi4vLi4vZXhwcmVzcy9yZXNwb25zZXMvZm9ybWF0U3VjY2VzcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHVwZGF0ZSBmcm9tICcuLi9vcGVyYXRpb25zL3VwZGF0ZSdcblxuZXhwb3J0IHR5cGUgVXBkYXRlUmVzdWx0ID0ge1xuICBkb2M6IERvY3VtZW50XG4gIG1lc3NhZ2U6IHN0cmluZ1xufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiB1cGRhdGVIYW5kbGVyKFxuICByZXE6IFBheWxvYWRSZXF1ZXN0LFxuICByZXM6IFJlc3BvbnNlLFxuICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4pOiBQcm9taXNlPFJlc3BvbnNlPFVwZGF0ZVJlc3VsdD4gfCB2b2lkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZHJhZnQgPSByZXEucXVlcnkuZHJhZnQgPT09ICd0cnVlJ1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXBkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IHJlcS5jb2xsZWN0aW9uLFxuICAgICAgZGF0YTogcmVxLmJvZHksXG4gICAgICBkZXB0aDogcGFyc2VJbnQoU3RyaW5nKHJlcS5xdWVyeS5kZXB0aCksIDEwKSxcbiAgICAgIGRyYWZ0LFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IHJlcS5xdWVyeS53aGVyZSBhcyBXaGVyZSxcbiAgICB9KVxuXG4gICAgaWYgKHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gcmVxLnQoJ2dlbmVyYWw6dXBkYXRlZENvdW50U3VjY2Vzc2Z1bGx5Jywge1xuICAgICAgICBjb3VudDogcmVzdWx0LmRvY3MubGVuZ3RoLFxuICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24oXG4gICAgICAgICAgcmVxLmNvbGxlY3Rpb24uY29uZmlnLmxhYmVsc1tyZXN1bHQuZG9jcy5sZW5ndGggPiAxID8gJ3BsdXJhbCcgOiAnc2luZ3VsYXInXSxcbiAgICAgICAgICByZXEuaTE4bixcbiAgICAgICAgKSxcbiAgICAgIH0pXG5cbiAgICAgIHJlcy5zdGF0dXMoaHR0cFN0YXR1cy5PSykuanNvbih7XG4gICAgICAgIC4uLmZvcm1hdFN1Y2Nlc3NSZXNwb25zZShtZXNzYWdlLCAnbWVzc2FnZScpLFxuICAgICAgICAuLi5yZXN1bHQsXG4gICAgICB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgdG90YWwgPSByZXN1bHQuZG9jcy5sZW5ndGggKyByZXN1bHQuZXJyb3JzLmxlbmd0aFxuICAgIGNvbnN0IG1lc3NhZ2UgPSByZXEudCgnZXJyb3I6dW5hYmxlVG9VcGRhdGVDb3VudCcsIHtcbiAgICAgIGNvdW50OiByZXN1bHQuZXJyb3JzLmxlbmd0aCxcbiAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgcmVxLmNvbGxlY3Rpb24uY29uZmlnLmxhYmVsc1t0b3RhbCA+IDEgPyAncGx1cmFsJyA6ICdzaW5ndWxhciddLFxuICAgICAgICByZXEuaTE4bixcbiAgICAgICksXG4gICAgICB0b3RhbCxcbiAgICB9KVxuXG4gICAgcmVzLnN0YXR1cyhodHRwU3RhdHVzLkJBRF9SRVFVRVNUKS5qc29uKHtcbiAgICAgIC4uLmZvcm1hdFN1Y2Nlc3NSZXNwb25zZShtZXNzYWdlLCAnbWVzc2FnZScpLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbmV4dChlcnJvcilcbiAgfVxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZUhhbmRsZXIiLCJyZXEiLCJyZXMiLCJuZXh0IiwiZHJhZnQiLCJxdWVyeSIsInJlc3VsdCIsInVwZGF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwiYm9keSIsImRlcHRoIiwicGFyc2VJbnQiLCJTdHJpbmciLCJ3aGVyZSIsImVycm9ycyIsImxlbmd0aCIsIm1lc3NhZ2UiLCJ0IiwiY291bnQiLCJkb2NzIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImNvbmZpZyIsImxhYmVscyIsImkxOG4iLCJzdGF0dXMiLCJodHRwU3RhdHVzIiwiT0siLCJqc29uIiwiZm9ybWF0U3VjY2Vzc1Jlc3BvbnNlIiwidG90YWwiLCJCQURfUkVRVUVTVCIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdCQTs7O2VBQThCQTs7O21FQWRQO3NFQUtXO2dDQUNIOytEQUNaOzs7Ozs7QUFPSixlQUFlQSxjQUM1QkMsR0FBbUIsRUFDbkJDLEdBQWEsRUFDYkMsSUFBa0I7SUFFbEIsSUFBSTtRQUNGLE1BQU1DLFFBQVFILElBQUlJLEtBQUssQ0FBQ0QsS0FBSyxLQUFLO1FBRWxDLE1BQU1FLFNBQVMsTUFBTUMsSUFBQUEsZUFBTSxFQUFDO1lBQzFCQyxZQUFZUCxJQUFJTyxVQUFVO1lBQzFCQyxNQUFNUixJQUFJUyxJQUFJO1lBQ2RDLE9BQU9DLFNBQVNDLE9BQU9aLElBQUlJLEtBQUssQ0FBQ00sS0FBSyxHQUFHO1lBQ3pDUDtZQUNBSDtZQUNBYSxPQUFPYixJQUFJSSxLQUFLLENBQUNTLEtBQUs7UUFDeEI7UUFFQSxJQUFJUixPQUFPUyxNQUFNLENBQUNDLE1BQU0sS0FBSyxHQUFHO1lBQzlCLE1BQU1DLFVBQVVoQixJQUFJaUIsQ0FBQyxDQUFDLG9DQUFvQztnQkFDeERDLE9BQU9iLE9BQU9jLElBQUksQ0FBQ0osTUFBTTtnQkFDekJLLE9BQU9DLElBQUFBLDhCQUFjLEVBQ25CckIsSUFBSU8sVUFBVSxDQUFDZSxNQUFNLENBQUNDLE1BQU0sQ0FBQ2xCLE9BQU9jLElBQUksQ0FBQ0osTUFBTSxHQUFHLElBQUksV0FBVyxXQUFXLEVBQzVFZixJQUFJd0IsSUFBSTtZQUVaO1lBRUF2QixJQUFJd0IsTUFBTSxDQUFDQyxtQkFBVSxDQUFDQyxFQUFFLEVBQUVDLElBQUksQ0FBQztnQkFDN0IsR0FBR0MsSUFBQUEsc0JBQXFCLEVBQUNiLFNBQVMsVUFBVTtnQkFDNUMsR0FBR1gsTUFBTTtZQUNYO1lBQ0E7UUFDRjtRQUVBLE1BQU15QixRQUFRekIsT0FBT2MsSUFBSSxDQUFDSixNQUFNLEdBQUdWLE9BQU9TLE1BQU0sQ0FBQ0MsTUFBTTtRQUN2RCxNQUFNQyxVQUFVaEIsSUFBSWlCLENBQUMsQ0FBQyw2QkFBNkI7WUFDakRDLE9BQU9iLE9BQU9TLE1BQU0sQ0FBQ0MsTUFBTTtZQUMzQkssT0FBT0MsSUFBQUEsOEJBQWMsRUFDbkJyQixJQUFJTyxVQUFVLENBQUNlLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDTyxRQUFRLElBQUksV0FBVyxXQUFXLEVBQy9EOUIsSUFBSXdCLElBQUk7WUFFVk07UUFDRjtRQUVBN0IsSUFBSXdCLE1BQU0sQ0FBQ0MsbUJBQVUsQ0FBQ0ssV0FBVyxFQUFFSCxJQUFJLENBQUM7WUFDdEMsR0FBR0MsSUFBQUEsc0JBQXFCLEVBQUNiLFNBQVMsVUFBVTtZQUM1QyxHQUFHWCxNQUFNO1FBQ1g7SUFDRixFQUFFLE9BQU8yQixPQUFPO1FBQ2Q5QixLQUFLOEI7SUFDUDtBQUNGIn0=