37 lines
822 B
JavaScript
Raw Normal View History

'use strict';
const { yup, formatYupErrors } = require('strapi-utils');
const handleReject = error => Promise.reject(formatYupErrors(error));
const updatePermissionsSchema = yup
.object()
.shape({
permissions: yup
.array()
.of(
yup
.object()
.shape({
action: yup.string().required(),
subject: yup.string(),
fields: yup.array().of(yup.string()),
conditions: yup.array().of(yup.string()),
})
.noUnknown()
)
.requiredAllowEmpty(),
})
.required()
.noUnknown();
const validatedUpdatePermissionsInput = data => {
return updatePermissionsSchema
.validate(data, { strict: true, abortEarly: false })
.catch(handleReject);
};
module.exports = {
validatedUpdatePermissionsInput,
};