UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

53 lines (52 loc) 6.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createLocalReq", { enumerable: true, get: function() { return createLocalReq; } }); const _dataloader = require("../collections/dataloader"); const _init = require("../translations/init"); function getRequestContext(req = { context: null }, context = {}) { if (req.context) { if (Object.keys(req.context).length === 0 && req.context.constructor === Object) { // if req.context is `{}` avoid unnecessary spread return context; } else { return { ...req.context, ...context }; } } else { return context; } } const createLocalReq = ({ collection, context, fallbackLocale, locale, req = {}, user }, payload)=>{ const i18n = req?.i18n || (0, _init.i18nInit)(payload.config?.i18n); if (payload.config?.localization) { const defaultLocale = payload.config.localization.defaultLocale; req.locale = locale || req?.locale || defaultLocale; const fallbackLocaleFromConfig = payload.config.localization.locales.find(({ code })=>req.locale === code)?.fallbackLocale; if (typeof fallbackLocale !== 'undefined') { req.fallbackLocale = fallbackLocale; } else if (typeof req?.fallbackLocale === 'undefined') { req.fallbackLocale = fallbackLocaleFromConfig || defaultLocale; } } req.context = getRequestContext(req, context); req.payloadAPI = req?.payloadAPI || 'local'; req.payload = payload; req.i18n = i18n; req.t = i18n.t; req.user = user || req?.user || null; req.collection = collection ? payload.collections?.[collection] : null; req.payloadDataLoader = req?.payloadDataLoader || (0, _dataloader.getDataLoader)(req); return req; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTG9jYWxSZXEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkLCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5cbmltcG9ydCB7IGdldERhdGFMb2FkZXIgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9kYXRhbG9hZGVyJ1xuaW1wb3J0IHsgaTE4bkluaXQgfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvaW5pdCdcblxuZnVuY3Rpb24gZ2V0UmVxdWVzdENvbnRleHQoXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QgPSB7IGNvbnRleHQ6IG51bGwgfSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHQgPSB7fSxcbik6IFJlcXVlc3RDb250ZXh0IHtcbiAgaWYgKHJlcS5jb250ZXh0KSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHJlcS5jb250ZXh0KS5sZW5ndGggPT09IDAgJiYgcmVxLmNvbnRleHQuY29uc3RydWN0b3IgPT09IE9iamVjdCkge1xuICAgICAgLy8gaWYgcmVxLmNvbnRleHQgaXMgYHt9YCBhdm9pZCB1bm5lY2Vzc2FyeSBzcHJlYWRcbiAgICAgIHJldHVybiBjb250ZXh0XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnJlcS5jb250ZXh0LCAuLi5jb250ZXh0IH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbnRleHRcbiAgfVxufVxuXG50eXBlIENyZWF0ZUxvY2FsUmVxID0gKFxuICBvcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbj86IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbFxuICAgIGNvbnRleHQ/OiBSZXF1ZXN0Q29udGV4dFxuICAgIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gICAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgICB1c2VyPzogRG9jdW1lbnRcbiAgfSxcbiAgcGF5bG9hZDogUGF5bG9hZCxcbikgPT4gUGF5bG9hZFJlcXVlc3RcbmV4cG9ydCBjb25zdCBjcmVhdGVMb2NhbFJlcTogQ3JlYXRlTG9jYWxSZXEgPSAoXG4gIHsgY29sbGVjdGlvbiwgY29udGV4dCwgZmFsbGJhY2tMb2NhbGUsIGxvY2FsZSwgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QsIHVzZXIgfSxcbiAgcGF5bG9hZCxcbikgPT4ge1xuICBjb25zdCBpMThuID0gcmVxPy5pMThuIHx8IGkxOG5Jbml0KHBheWxvYWQuY29uZmlnPy5pMThuKVxuXG4gIGlmIChwYXlsb2FkLmNvbmZpZz8ubG9jYWxpemF0aW9uKSB7XG4gICAgY29uc3QgZGVmYXVsdExvY2FsZSA9IHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlXG4gICAgcmVxLmxvY2FsZSA9IGxvY2FsZSB8fCByZXE/LmxvY2FsZSB8fCBkZWZhdWx0TG9jYWxlXG4gICAgY29uc3QgZmFsbGJhY2tMb2NhbGVGcm9tQ29uZmlnID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMuZmluZChcbiAgICAgICh7IGNvZGUgfSkgPT4gcmVxLmxvY2FsZSA9PT0gY29kZSxcbiAgICApPy5mYWxsYmFja0xvY2FsZVxuICAgIGlmICh0eXBlb2YgZmFsbGJhY2tMb2NhbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXEuZmFsbGJhY2tMb2NhbGUgPSBmYWxsYmFja0xvY2FsZVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlcT8uZmFsbGJhY2tMb2NhbGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXEuZmFsbGJhY2tMb2NhbGUgPSBmYWxsYmFja0xvY2FsZUZyb21Db25maWcgfHwgZGVmYXVsdExvY2FsZVxuICAgIH1cbiAgfVxuXG4gIHJlcS5jb250ZXh0ID0gZ2V0UmVxdWVzdENvbnRleHQocmVxLCBjb250ZXh0KVxuICByZXEucGF5bG9hZEFQSSA9IHJlcT8ucGF5bG9hZEFQSSB8fCAnbG9jYWwnXG4gIHJlcS5wYXlsb2FkID0gcGF5bG9hZFxuICByZXEuaTE4biA9IGkxOG5cbiAgcmVxLnQgPSBpMThuLnRcbiAgcmVxLnVzZXIgPSB1c2VyIHx8IHJlcT8udXNlciB8fCBudWxsXG4gIHJlcS5jb2xsZWN0aW9uID0gY29sbGVjdGlvbiA/IHBheWxvYWQuY29sbGVjdGlvbnM/Lltjb2xsZWN0aW9uXSA6IG51bGxcbiAgcmVxLnBheWxvYWREYXRhTG9hZGVyID0gcmVxPy5wYXlsb2FkRGF0YUxvYWRlciB8fCBnZXREYXRhTG9hZGVyKHJlcSlcblxuICByZXR1cm4gcmVxXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlTG9jYWxSZXEiLCJnZXRSZXF1ZXN0Q29udGV4dCIsInJlcSIsImNvbnRleHQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJjb2xsZWN0aW9uIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJ1c2VyIiwicGF5bG9hZCIsImkxOG4iLCJpMThuSW5pdCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImRlZmF1bHRMb2NhbGUiLCJmYWxsYmFja0xvY2FsZUZyb21Db25maWciLCJsb2NhbGVzIiwiZmluZCIsImNvZGUiLCJwYXlsb2FkQVBJIiwidCIsImNvbGxlY3Rpb25zIiwicGF5bG9hZERhdGFMb2FkZXIiLCJnZXREYXRhTG9hZGVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQWlDYUE7OztlQUFBQTs7OzRCQTlCaUI7c0JBQ0w7QUFFekIsU0FBU0Msa0JBQ1BDLE1BQXNCO0lBQUVDLFNBQVM7QUFBSyxDQUFtQixFQUN6REEsVUFBMEIsQ0FBQyxDQUFDO0lBRTVCLElBQUlELElBQUlDLE9BQU8sRUFBRTtRQUNmLElBQUlDLE9BQU9DLElBQUksQ0FBQ0gsSUFBSUMsT0FBTyxFQUFFRyxNQUFNLEtBQUssS0FBS0osSUFBSUMsT0FBTyxDQUFDSSxXQUFXLEtBQUtILFFBQVE7WUFDL0Usa0RBQWtEO1lBQ2xELE9BQU9EO1FBQ1QsT0FBTztZQUNMLE9BQU87Z0JBQUUsR0FBR0QsSUFBSUMsT0FBTztnQkFBRSxHQUFHQSxPQUFPO1lBQUM7UUFDdEM7SUFDRixPQUFPO1FBQ0wsT0FBT0E7SUFDVDtBQUNGO0FBYU8sTUFBTUgsaUJBQWlDLENBQzVDLEVBQUVRLFVBQVUsRUFBRUwsT0FBTyxFQUFFTSxjQUFjLEVBQUVDLE1BQU0sRUFBRVIsTUFBTSxDQUFDLENBQW1CLEVBQUVTLElBQUksRUFBRSxFQUNqRkM7SUFFQSxNQUFNQyxPQUFPWCxLQUFLVyxRQUFRQyxJQUFBQSxjQUFRLEVBQUNGLFFBQVFHLE1BQU0sRUFBRUY7SUFFbkQsSUFBSUQsUUFBUUcsTUFBTSxFQUFFQyxjQUFjO1FBQ2hDLE1BQU1DLGdCQUFnQkwsUUFBUUcsTUFBTSxDQUFDQyxZQUFZLENBQUNDLGFBQWE7UUFDL0RmLElBQUlRLE1BQU0sR0FBR0EsVUFBVVIsS0FBS1EsVUFBVU87UUFDdEMsTUFBTUMsMkJBQTJCTixRQUFRRyxNQUFNLENBQUNDLFlBQVksQ0FBQ0csT0FBTyxDQUFDQyxJQUFJLENBQ3ZFLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtuQixJQUFJUSxNQUFNLEtBQUtXLE9BQzVCWjtRQUNILElBQUksT0FBT0EsbUJBQW1CLGFBQWE7WUFDekNQLElBQUlPLGNBQWMsR0FBR0E7UUFDdkIsT0FBTyxJQUFJLE9BQU9QLEtBQUtPLG1CQUFtQixhQUFhO1lBQ3JEUCxJQUFJTyxjQUFjLEdBQUdTLDRCQUE0QkQ7UUFDbkQ7SUFDRjtJQUVBZixJQUFJQyxPQUFPLEdBQUdGLGtCQUFrQkMsS0FBS0M7SUFDckNELElBQUlvQixVQUFVLEdBQUdwQixLQUFLb0IsY0FBYztJQUNwQ3BCLElBQUlVLE9BQU8sR0FBR0E7SUFDZFYsSUFBSVcsSUFBSSxHQUFHQTtJQUNYWCxJQUFJcUIsQ0FBQyxHQUFHVixLQUFLVSxDQUFDO0lBQ2RyQixJQUFJUyxJQUFJLEdBQUdBLFFBQVFULEtBQUtTLFFBQVE7SUFDaENULElBQUlNLFVBQVUsR0FBR0EsYUFBYUksUUFBUVksV0FBVyxFQUFFLENBQUNoQixXQUFXLEdBQUc7SUFDbEVOLElBQUl1QixpQkFBaUIsR0FBR3ZCLEtBQUt1QixxQkFBcUJDLElBQUFBLHlCQUFhLEVBQUN4QjtJQUVoRSxPQUFPQTtBQUNUIn0=