payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
77 lines (76 loc) • 6.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
const _extractTranslations = require("../../translations/extractTranslations");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const labels = (0, _extractTranslations.extractTranslations)([
'authentication:enableAPIKey',
'authentication:apiKey'
]);
const encryptKey = ({ req, value })=>value ? req.payload.encrypt(value) : null;
const decryptKey = ({ req, value })=>value ? req.payload.decrypt(value) : undefined;
const _default = [
{
name: 'enableAPIKey',
type: 'checkbox',
admin: {
components: {
Field: ()=>null
}
},
defaultValue: false,
label: labels['authentication:enableAPIKey']
},
{
name: 'apiKey',
type: 'text',
admin: {
components: {
Field: ()=>null
}
},
hooks: {
afterRead: [
decryptKey
],
beforeChange: [
encryptKey
]
},
label: labels['authentication:apiKey']
},
{
name: 'apiKeyIndex',
type: 'text',
admin: {
disabled: true
},
hidden: true,
hooks: {
beforeValidate: [
async ({ data, req, value })=>{
if (data.apiKey) {
return _crypto.default.createHmac('sha1', req.payload.secret).update(data.apiKey).digest('hex');
}
if (data.enableAPIKey === false) {
return null;
}
return value;
}
]
}
}
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2Jhc2VGaWVsZHMvYXBpS2V5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEhvb2sgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5cbmNvbnN0IGxhYmVscyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoWydhdXRoZW50aWNhdGlvbjplbmFibGVBUElLZXknLCAnYXV0aGVudGljYXRpb246YXBpS2V5J10pXG5cbmNvbnN0IGVuY3J5cHRLZXk6IEZpZWxkSG9vayA9ICh7IHJlcSwgdmFsdWUgfSkgPT5cbiAgdmFsdWUgPyByZXEucGF5bG9hZC5lbmNyeXB0KHZhbHVlIGFzIHN0cmluZykgOiBudWxsXG5jb25zdCBkZWNyeXB0S2V5OiBGaWVsZEhvb2sgPSAoeyByZXEsIHZhbHVlIH0pID0+XG4gIHZhbHVlID8gcmVxLnBheWxvYWQuZGVjcnlwdCh2YWx1ZSBhcyBzdHJpbmcpIDogdW5kZWZpbmVkXG5cbmV4cG9ydCBkZWZhdWx0IFtcbiAge1xuICAgIG5hbWU6ICdlbmFibGVBUElLZXknLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgRmllbGQ6ICgpID0+IG51bGwsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogbGFiZWxzWydhdXRoZW50aWNhdGlvbjplbmFibGVBUElLZXknXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdhcGlLZXknLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBGaWVsZDogKCkgPT4gbnVsbCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBob29rczoge1xuICAgICAgYWZ0ZXJSZWFkOiBbZGVjcnlwdEtleV0sXG4gICAgICBiZWZvcmVDaGFuZ2U6IFtlbmNyeXB0S2V5XSxcbiAgICB9LFxuICAgIGxhYmVsOiBsYWJlbHNbJ2F1dGhlbnRpY2F0aW9uOmFwaUtleSddLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2FwaUtleUluZGV4JyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgIH0sXG4gICAgaGlkZGVuOiB0cnVlLFxuICAgIGhvb2tzOiB7XG4gICAgICBiZWZvcmVWYWxpZGF0ZTogW1xuICAgICAgICBhc3luYyAoeyBkYXRhLCByZXEsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICBpZiAoZGF0YS5hcGlLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBjcnlwdG9cbiAgICAgICAgICAgICAgLmNyZWF0ZUhtYWMoJ3NoYTEnLCByZXEucGF5bG9hZC5zZWNyZXQpXG4gICAgICAgICAgICAgIC51cGRhdGUoZGF0YS5hcGlLZXkgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAuZGlnZXN0KCdoZXgnKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGF0YS5lbmFibGVBUElLZXkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbl0gYXMgRmllbGRbXVxuIl0sIm5hbWVzIjpbImxhYmVscyIsImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJlbmNyeXB0S2V5IiwicmVxIiwidmFsdWUiLCJwYXlsb2FkIiwiZW5jcnlwdCIsImRlY3J5cHRLZXkiLCJkZWNyeXB0IiwidW5kZWZpbmVkIiwibmFtZSIsInR5cGUiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiaG9va3MiLCJhZnRlclJlYWQiLCJiZWZvcmVDaGFuZ2UiLCJkaXNhYmxlZCIsImhpZGRlbiIsImJlZm9yZVZhbGlkYXRlIiwiZGF0YSIsImFwaUtleSIsImNyeXB0byIsImNyZWF0ZUhtYWMiLCJzZWNyZXQiLCJ1cGRhdGUiLCJkaWdlc3QiLCJlbmFibGVBUElLZXkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYUE7OztlQUFBOzs7K0RBYm1CO3FDQUlpQjs7Ozs7O0FBRXBDLE1BQU1BLFNBQVNDLElBQUFBLHdDQUFtQixFQUFDO0lBQUM7SUFBK0I7Q0FBd0I7QUFFM0YsTUFBTUMsYUFBd0IsQ0FBQyxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUMzQ0EsUUFBUUQsSUFBSUUsT0FBTyxDQUFDQyxPQUFPLENBQUNGLFNBQW1CO0FBQ2pELE1BQU1HLGFBQXdCLENBQUMsRUFBRUosR0FBRyxFQUFFQyxLQUFLLEVBQUUsR0FDM0NBLFFBQVFELElBQUlFLE9BQU8sQ0FBQ0csT0FBTyxDQUFDSixTQUFtQks7TUFFakQsV0FBZTtJQUNiO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFlBQVk7Z0JBQ1ZDLE9BQU8sSUFBTTtZQUNmO1FBQ0Y7UUFDQUMsY0FBYztRQUNkQyxPQUFPaEIsTUFBTSxDQUFDLDhCQUE4QjtJQUM5QztJQUNBO1FBQ0VVLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFlBQVk7Z0JBQ1ZDLE9BQU8sSUFBTTtZQUNmO1FBQ0Y7UUFDQUcsT0FBTztZQUNMQyxXQUFXO2dCQUFDWDthQUFXO1lBQ3ZCWSxjQUFjO2dCQUFDakI7YUFBVztRQUM1QjtRQUNBYyxPQUFPaEIsTUFBTSxDQUFDLHdCQUF3QjtJQUN4QztJQUNBO1FBQ0VVLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xRLFVBQVU7UUFDWjtRQUNBQyxRQUFRO1FBQ1JKLE9BQU87WUFDTEssZ0JBQWdCO2dCQUNkLE9BQU8sRUFBRUMsSUFBSSxFQUFFcEIsR0FBRyxFQUFFQyxLQUFLLEVBQUU7b0JBQ3pCLElBQUltQixLQUFLQyxNQUFNLEVBQUU7d0JBQ2YsT0FBT0MsZUFBTSxDQUNWQyxVQUFVLENBQUMsUUFBUXZCLElBQUlFLE9BQU8sQ0FBQ3NCLE1BQU0sRUFDckNDLE1BQU0sQ0FBQ0wsS0FBS0MsTUFBTSxFQUNsQkssTUFBTSxDQUFDO29CQUNaO29CQUNBLElBQUlOLEtBQUtPLFlBQVksS0FBSyxPQUFPO3dCQUMvQixPQUFPO29CQUNUO29CQUNBLE9BQU8xQjtnQkFDVDthQUNEO1FBQ0g7SUFDRjtDQUNEIn0=