payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
53 lines (52 loc) • 6.94 kB
JavaScript
;
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=