mirror of
https://github.com/strapi/strapi.git
synced 2025-08-08 08:46:42 +00:00
30 lines
764 B
JavaScript
30 lines
764 B
JavaScript
![]() |
'use strict';
|
||
|
|
||
|
const { yup, formatYupErrors } = require('strapi-utils');
|
||
|
// eslint-disable-next-line node/no-extraneous-require
|
||
|
const { features } = require('strapi/lib/utils/ee');
|
||
|
const { schemas } = require('../../validation/user');
|
||
|
|
||
|
const handleReject = error => Promise.reject(formatYupErrors(error));
|
||
|
|
||
|
const ssoUserCreationInputExtension = yup
|
||
|
.object()
|
||
|
.shape({
|
||
|
useSSORegistration: yup.boolean(),
|
||
|
})
|
||
|
.noUnknown();
|
||
|
|
||
|
const validateUserCreationInput = data => {
|
||
|
let schema = schemas.userCreationSchema;
|
||
|
|
||
|
if (features.isEnabled('sso')) {
|
||
|
schema = schema.concat(ssoUserCreationInputExtension);
|
||
|
}
|
||
|
|
||
|
return schema.validate(data, { strict: true, abortEarly: false }).catch(handleReject);
|
||
|
};
|
||
|
|
||
|
module.exports = {
|
||
|
validateUserCreationInput,
|
||
|
};
|