refactor: pull all base fields out of collection sanitize

This commit is contained in:
Elliot DeNolf
2020-11-17 14:39:10 -05:00
parent 1de5ac8cba
commit fe536f0628
6 changed files with 120 additions and 1 deletions

View File

@@ -1,53 +0,0 @@
const crypto = require('crypto');
const encryptKey = ({ req, value }) => (value ? req.payload.encrypt(value) : undefined);
const decryptKey = ({ req, value }) => (value ? req.payload.decrypt(value) : undefined);
module.exports = [
{
name: 'enableAPIKey',
type: 'checkbox',
defaultValue: false,
admin: {
disabled: true,
},
},
{
name: 'apiKey',
type: 'text',
admin: {
disabled: true,
},
hooks: {
beforeChange: [
encryptKey,
],
afterRead: [
decryptKey,
],
},
},
{
name: 'apiKeyIndex',
type: 'text',
hidden: true,
admin: {
disabled: true,
},
hooks: {
beforeValidate: [
async ({ data, req, value }) => {
if (data.apiKey) {
return crypto.createHmac('sha1', req.payload.config.secret)
.update(data.apiKey)
.digest('hex');
}
if (data.enableAPIKey === false) {
return null;
}
return value;
},
],
},
},
];

View File

@@ -1,13 +0,0 @@
module.exports = [
{
name: 'loginAttempts',
type: 'number',
hidden: true,
defaultValue: 0,
},
{
name: 'lockUntil',
type: 'date',
hidden: true,
},
];

View File

@@ -1,23 +0,0 @@
const validations = require('../fields/validations');
module.exports = [
{
name: 'email',
label: 'Email',
type: 'email',
validate: validations.email,
admin: {
disabled: true,
},
},
{
name: 'resetPasswordToken',
type: 'text',
hidden: true,
},
{
name: 'resetPasswordExpiration',
type: 'date',
hidden: true,
},
];

View File

@@ -1,19 +0,0 @@
module.exports = [
{
name: '_verified',
type: 'checkbox',
access: {
create: () => false,
update: ({ req: { user } }) => Boolean(user),
read: ({ req: { user } }) => Boolean(user),
},
admin: {
disabled: true,
},
},
{
name: '_verificationToken',
type: 'text',
hidden: true,
},
];