51 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-10-20 17:30:05 +02:00
'use strict';
2021-11-03 19:31:57 +01:00
const { yup, validateYupSchema } = require('@strapi/utils');
2021-10-20 17:30:05 +02:00
const deleteRoleSchema = yup.object().shape({
role: yup.strapiID().required(),
});
const createUserBodySchema = yup.object().shape({
2022-08-08 23:33:39 +02:00
email: yup.string().email().required(),
username: yup.string().min(1).required(),
password: yup.string().min(1).required(),
role: yup.lazy((value) =>
typeof value === 'object'
? yup
.object()
.shape({
connect: yup
.array()
.of(yup.object().shape({ id: yup.strapiID().required() }))
.min(1)
.required(),
})
.required()
: yup.strapiID().required()
),
});
2021-10-20 17:30:05 +02:00
const updateUserBodySchema = yup.object().shape({
2022-08-08 23:33:39 +02:00
email: yup.string().email().min(1),
2021-10-20 17:30:05 +02:00
username: yup.string().min(1),
password: yup.string().min(1),
role: yup.lazy((value) =>
typeof value === 'object'
? yup.object().shape({
connect: yup
.array()
.of(yup.object().shape({ id: yup.strapiID().required() }))
.min(1)
.required(),
})
: yup.strapiID()
),
2021-10-20 17:30:05 +02:00
});
module.exports = {
2021-11-03 19:31:57 +01:00
validateCreateUserBody: validateYupSchema(createUserBodySchema),
validateUpdateUserBody: validateYupSchema(updateUserBodySchema),
validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),
2021-10-20 17:30:05 +02:00
};