2022-03-31 13:11:19 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const { yup, validateYupSchemaSync } = require('@strapi/utils');
|
|
|
|
|
2022-04-06 11:50:00 +02:00
|
|
|
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'];
|
2022-03-31 13:11:19 +02:00
|
|
|
|
|
|
|
const updateProjectSettings = yup
|
2022-04-06 09:09:04 +02:00
|
|
|
.object({
|
|
|
|
menuLogo: yup.string(),
|
|
|
|
})
|
|
|
|
.noUnknown();
|
|
|
|
|
|
|
|
const updateProjectSettingsFiles = yup
|
2022-03-31 13:11:19 +02:00
|
|
|
.object({
|
|
|
|
menuLogo: yup.object({
|
2022-04-04 15:09:08 +02:00
|
|
|
name: yup.string(),
|
2022-04-06 11:50:00 +02:00
|
|
|
type: yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES),
|
|
|
|
size: yup.number().max(MAX_IMAGE_FILE_SIZE),
|
2022-03-31 13:11:19 +02:00
|
|
|
}),
|
|
|
|
})
|
|
|
|
.noUnknown();
|
|
|
|
|
2022-04-06 11:50:00 +02:00
|
|
|
const updateProjectSettingsImagesDimensions = yup
|
|
|
|
.object({
|
|
|
|
menuLogo: yup.object({
|
|
|
|
width: yup.number().max(MAX_IMAGE_WIDTH),
|
|
|
|
height: yup.number().max(MAX_IMAGE_HEIGHT),
|
|
|
|
}),
|
|
|
|
})
|
|
|
|
|
2022-03-31 13:11:19 +02:00
|
|
|
module.exports = {
|
|
|
|
validateUpdateProjectSettings: validateYupSchemaSync(updateProjectSettings),
|
2022-04-06 09:09:04 +02:00
|
|
|
validateUpdateProjectSettingsFiles: validateYupSchemaSync(updateProjectSettingsFiles),
|
2022-04-06 11:50:00 +02:00
|
|
|
validateUpdateProjectSettingsImagesDimensions: validateYupSchemaSync(
|
|
|
|
updateProjectSettingsImagesDimensions
|
|
|
|
),
|
2022-03-31 13:11:19 +02:00
|
|
|
};
|