mirror of
https://github.com/strapi/strapi.git
synced 2025-07-27 02:44:13 +00:00
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const { yup, validateYupSchemaSync } = require('@strapi/utils');
|
|
|
|
const MAX_IMAGE_WIDTH = 750;
|
|
const MAX_IMAGE_HEIGHT = MAX_IMAGE_WIDTH;
|
|
const MAX_IMAGE_FILE_SIZE = 1024 * 1024; // 1Mo
|
|
const ALLOWED_IMAGE_FILE_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'];
|
|
|
|
const updateProjectSettings = yup
|
|
.object({
|
|
menuLogo: yup.string(),
|
|
authLogo: yup.string(),
|
|
})
|
|
.noUnknown();
|
|
|
|
const updateProjectSettingsLogo = yup.object({
|
|
name: yup.string(),
|
|
type: yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES),
|
|
size: yup.number().max(MAX_IMAGE_FILE_SIZE),
|
|
});
|
|
|
|
const updateProjectSettingsFiles = yup
|
|
.object({
|
|
menuLogo: updateProjectSettingsLogo,
|
|
authLogo: updateProjectSettingsLogo,
|
|
})
|
|
.noUnknown();
|
|
|
|
const logoDimensions = yup.object({
|
|
width: yup.number().max(MAX_IMAGE_WIDTH),
|
|
height: yup.number().max(MAX_IMAGE_HEIGHT),
|
|
});
|
|
|
|
const updateProjectSettingsImagesDimensions = yup
|
|
.object({
|
|
menuLogo: logoDimensions,
|
|
authLogo: logoDimensions,
|
|
})
|
|
.noUnknown();
|
|
|
|
module.exports = {
|
|
validateUpdateProjectSettings: validateYupSchemaSync(updateProjectSettings),
|
|
validateUpdateProjectSettingsFiles: validateYupSchemaSync(updateProjectSettingsFiles),
|
|
validateUpdateProjectSettingsImagesDimensions: validateYupSchemaSync(
|
|
updateProjectSettingsImagesDimensions
|
|
),
|
|
};
|