diff --git a/src/auth/baseAPIKeyFields.js b/src/fields/baseFields/baseAPIKeyFields.js similarity index 100% rename from src/auth/baseAPIKeyFields.js rename to src/fields/baseFields/baseAPIKeyFields.js diff --git a/src/auth/baseAccountLockFields.js b/src/fields/baseFields/baseAccountLockFields.js similarity index 100% rename from src/auth/baseAccountLockFields.js rename to src/fields/baseFields/baseAccountLockFields.js diff --git a/src/auth/baseFields.js b/src/fields/baseFields/baseFields.js similarity index 85% rename from src/auth/baseFields.js rename to src/fields/baseFields/baseFields.js index 1bf74a1e2b..a495840cd2 100644 --- a/src/auth/baseFields.js +++ b/src/fields/baseFields/baseFields.js @@ -1,4 +1,4 @@ -const validations = require('../fields/validations'); +const validations = require('../validations'); module.exports = [ { diff --git a/src/fields/baseFields/baseImageUploadFields.js b/src/fields/baseFields/baseImageUploadFields.js new file mode 100644 index 0000000000..51359f1931 --- /dev/null +++ b/src/fields/baseFields/baseImageUploadFields.js @@ -0,0 +1,78 @@ +module.exports = (imageSizes) => [ + { + name: 'width', + label: 'Width', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'height', + label: 'Height', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, + { + name: 'sizes', + label: 'Sizes', + type: 'group', + admin: { + disabled: true, + }, + fields: imageSizes.map((size) => ({ + label: size.name, + name: size.name, + type: 'group', + admin: { + disabled: true, + }, + fields: [ + { + name: 'width', + label: 'Width', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'height', + label: 'Height', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'mimeType', + label: 'MIME Type', + type: 'text', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'filesize', + label: 'File Size', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'filename', + label: 'File Name', + type: 'text', + admin: { + readOnly: true, + disabled: true, + }, + }, + ], + })), + }, +]; diff --git a/src/fields/baseFields/baseUploadFields.js b/src/fields/baseFields/baseUploadFields.js new file mode 100644 index 0000000000..cb212b0c8f --- /dev/null +++ b/src/fields/baseFields/baseUploadFields.js @@ -0,0 +1,41 @@ +module.exports = [ + { + name: 'filename', + label: 'Filename', + hooks: { + beforeChange: [ + ({ req, operation, value }) => { + if (operation === 'create') { + const file = (req.files && req.files.file) ? req.files.file : req.file; + return file.name; + } + + return value; + }, + ], + }, + type: 'text', + required: true, + unique: true, + admin: { + disabled: true, + readOnly: true, + }, + }, { + name: 'mimeType', + label: 'MIME Type', + type: 'text', + admin: { + readOnly: true, + disabled: true, + }, + }, { + name: 'filesize', + label: 'File Size', + type: 'number', + admin: { + readOnly: true, + disabled: true, + }, + }, +]; diff --git a/src/auth/baseVerificationFields.js b/src/fields/baseFields/baseVerificationFields.js similarity index 100% rename from src/auth/baseVerificationFields.js rename to src/fields/baseFields/baseVerificationFields.js