payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
84 lines (83 loc) • 6.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _delete = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/delete"));
const _findOne = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/findOne"));
const _update = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/update"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const preferenceAccess = ({ req })=>({
'user.value': {
equals: req?.user?.id
}
});
const getPreferencesCollection = (config)=>({
slug: 'payload-preferences',
access: {
delete: preferenceAccess,
read: preferenceAccess
},
admin: {
hidden: true
},
endpoints: [
{
handler: _findOne.default,
method: 'get',
path: '/:key'
},
{
handler: _delete.default,
method: 'delete',
path: '/:key'
},
{
handler: _update.default,
method: 'post',
path: '/:key'
}
],
fields: [
{
name: 'user',
type: 'relationship',
hooks: {
beforeValidate: [
({ req })=>{
if (!req?.user) {
return null;
}
return {
relationTo: req?.user.collection,
value: req?.user.id
};
}
]
},
index: true,
relationTo: config.collections.filter((collectionConfig)=>collectionConfig.auth).map((collectionConfig)=>collectionConfig.slug),
required: true
},
{
name: 'key',
type: 'text',
index: true
},
{
name: 'value',
type: 'json'
}
]
});
const _default = getPreferencesCollection;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmVmZXJlbmNlcy9wcmVmZXJlbmNlc0NvbGxlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBY2Nlc3MsIENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGRlbGV0ZUhhbmRsZXIgZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvZGVsZXRlJ1xuaW1wb3J0IGZpbmRPbmUgZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvZmluZE9uZSdcbmltcG9ydCB1cGRhdGUgZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvdXBkYXRlJ1xuXG5jb25zdCBwcmVmZXJlbmNlQWNjZXNzOiBBY2Nlc3MgPSAoeyByZXEgfSkgPT4gKHtcbiAgJ3VzZXIudmFsdWUnOiB7XG4gICAgZXF1YWxzOiByZXE/LnVzZXI/LmlkLFxuICB9LFxufSlcblxuY29uc3QgZ2V0UHJlZmVyZW5jZXNDb2xsZWN0aW9uID0gKGNvbmZpZzogQ29uZmlnKTogQ29sbGVjdGlvbkNvbmZpZyA9PiAoe1xuICBzbHVnOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gIGFjY2Vzczoge1xuICAgIGRlbGV0ZTogcHJlZmVyZW5jZUFjY2VzcyxcbiAgICByZWFkOiBwcmVmZXJlbmNlQWNjZXNzLFxuICB9LFxuICBhZG1pbjoge1xuICAgIGhpZGRlbjogdHJ1ZSxcbiAgfSxcbiAgZW5kcG9pbnRzOiBbXG4gICAge1xuICAgICAgaGFuZGxlcjogZmluZE9uZSxcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICBwYXRoOiAnLzprZXknLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogZGVsZXRlSGFuZGxlcixcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICBwYXRoOiAnLzprZXknLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogdXBkYXRlLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBwYXRoOiAnLzprZXknLFxuICAgIH0sXG4gIF0sXG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIG5hbWU6ICd1c2VyJyxcbiAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgaG9va3M6IHtcbiAgICAgICAgYmVmb3JlVmFsaWRhdGU6IFtcbiAgICAgICAgICAoeyByZXEgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZXE/LnVzZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHJlbGF0aW9uVG86IHJlcT8udXNlci5jb2xsZWN0aW9uLFxuICAgICAgICAgICAgICB2YWx1ZTogcmVxPy51c2VyLmlkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICByZWxhdGlvblRvOiBjb25maWcuY29sbGVjdGlvbnNcbiAgICAgICAgLmZpbHRlcigoY29sbGVjdGlvbkNvbmZpZykgPT4gY29sbGVjdGlvbkNvbmZpZy5hdXRoKVxuICAgICAgICAubWFwKChjb2xsZWN0aW9uQ29uZmlnKSA9PiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcpLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAna2V5JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGluZGV4OiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3ZhbHVlJyxcbiAgICAgIHR5cGU6ICdqc29uJyxcbiAgICB9LFxuICBdLFxufSlcblxuZXhwb3J0IGRlZmF1bHQgZ2V0UHJlZmVyZW5jZXNDb2xsZWN0aW9uXG4iXSwibmFtZXMiOlsicHJlZmVyZW5jZUFjY2VzcyIsInJlcSIsImVxdWFscyIsInVzZXIiLCJpZCIsImdldFByZWZlcmVuY2VzQ29sbGVjdGlvbiIsImNvbmZpZyIsInNsdWciLCJhY2Nlc3MiLCJkZWxldGUiLCJyZWFkIiwiYWRtaW4iLCJoaWRkZW4iLCJlbmRwb2ludHMiLCJoYW5kbGVyIiwiZmluZE9uZSIsIm1ldGhvZCIsInBhdGgiLCJkZWxldGVIYW5kbGVyIiwidXBkYXRlIiwiZmllbGRzIiwibmFtZSIsInR5cGUiLCJob29rcyIsImJlZm9yZVZhbGlkYXRlIiwicmVsYXRpb25UbyIsImNvbGxlY3Rpb24iLCJ2YWx1ZSIsImluZGV4IiwiY29sbGVjdGlvbnMiLCJmaWx0ZXIiLCJjb2xsZWN0aW9uQ29uZmlnIiwiYXV0aCIsIm1hcCIsInJlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7OytCQTBFQTs7O2VBQUE7OzsrREF2RTBCO2dFQUNOOytEQUNEOzs7Ozs7QUFFbkIsTUFBTUEsbUJBQTJCLENBQUMsRUFBRUMsR0FBRyxFQUFFLEdBQU0sQ0FBQTtRQUM3QyxjQUFjO1lBQ1pDLFFBQVFELEtBQUtFLE1BQU1DO1FBQ3JCO0lBQ0YsQ0FBQTtBQUVBLE1BQU1DLDJCQUEyQixDQUFDQyxTQUFzQyxDQUFBO1FBQ3RFQyxNQUFNO1FBQ05DLFFBQVE7WUFDTkMsUUFBUVQ7WUFDUlUsTUFBTVY7UUFDUjtRQUNBVyxPQUFPO1lBQ0xDLFFBQVE7UUFDVjtRQUNBQyxXQUFXO1lBQ1Q7Z0JBQ0VDLFNBQVNDLGdCQUFPO2dCQUNoQkMsUUFBUTtnQkFDUkMsTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VILFNBQVNJLGVBQWE7Z0JBQ3RCRixRQUFRO2dCQUNSQyxNQUFNO1lBQ1I7WUFDQTtnQkFDRUgsU0FBU0ssZUFBTTtnQkFDZkgsUUFBUTtnQkFDUkMsTUFBTTtZQUNSO1NBQ0Q7UUFDREcsUUFBUTtZQUNOO2dCQUNFQyxNQUFNO2dCQUNOQyxNQUFNO2dCQUNOQyxPQUFPO29CQUNMQyxnQkFBZ0I7d0JBQ2QsQ0FBQyxFQUFFdkIsR0FBRyxFQUFFOzRCQUNOLElBQUksQ0FBQ0EsS0FBS0UsTUFBTTtnQ0FDZCxPQUFPOzRCQUNUOzRCQUNBLE9BQU87Z0NBQ0xzQixZQUFZeEIsS0FBS0UsS0FBS3VCO2dDQUN0QkMsT0FBTzFCLEtBQUtFLEtBQUtDOzRCQUNuQjt3QkFDRjtxQkFDRDtnQkFDSDtnQkFDQXdCLE9BQU87Z0JBQ1BILFlBQVluQixPQUFPdUIsV0FBVyxDQUMzQkMsTUFBTSxDQUFDLENBQUNDLG1CQUFxQkEsaUJBQWlCQyxJQUFJLEVBQ2xEQyxHQUFHLENBQUMsQ0FBQ0YsbUJBQXFCQSxpQkFBaUJ4QixJQUFJO2dCQUNsRDJCLFVBQVU7WUFDWjtZQUNBO2dCQUNFYixNQUFNO2dCQUNOQyxNQUFNO2dCQUNOTSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRVAsTUFBTTtnQkFDTkMsTUFBTTtZQUNSO1NBQ0Q7SUFDSCxDQUFBO01BRUEsV0FBZWpCIn0=