2020-07-02 18:49:20 +02:00
|
|
|
'use strict';
|
|
|
|
|
2021-04-29 13:51:12 +02:00
|
|
|
const { yup, formatYupErrors } = require('@strapi/utils');
|
2020-07-02 18:49:20 +02:00
|
|
|
|
|
|
|
const fileInfoSchema = yup.object({
|
|
|
|
name: yup.string().nullable(),
|
|
|
|
alternativeText: yup.string().nullable(),
|
|
|
|
caption: yup.string().nullable(),
|
|
|
|
});
|
|
|
|
|
|
|
|
const uploadSchema = yup.object({
|
|
|
|
fileInfo: fileInfoSchema,
|
|
|
|
});
|
|
|
|
|
|
|
|
const multiUploadSchema = yup.object({
|
|
|
|
fileInfo: yup.array().of(fileInfoSchema),
|
|
|
|
});
|
|
|
|
|
|
|
|
const validateUploadBody = (data = {}, isMulti = false) => {
|
|
|
|
const schema = isMulti ? multiUploadSchema : uploadSchema;
|
|
|
|
|
|
|
|
return schema.validate(data, { abortEarly: false }).catch(err => {
|
|
|
|
throw strapi.errors.badRequest('ValidationError', { errors: formatYupErrors(err) });
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = validateUploadBody;
|