28 lines
712 B
JavaScript
Raw Normal View History

'use strict';
2021-04-29 13:51:12 +02:00
const { yup, formatYupErrors } = require('@strapi/utils');
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;