From 3ef2eabdadd86c9e968bfa0ee8f1508c084fb144 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Wed, 9 Nov 2022 19:10:41 +0100 Subject: [PATCH] Fix validation on user update --- .../server/controllers/validation/user.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/plugins/users-permissions/server/controllers/validation/user.js b/packages/plugins/users-permissions/server/controllers/validation/user.js index e0407f138f0..d62f3f77bde 100644 --- a/packages/plugins/users-permissions/server/controllers/validation/user.js +++ b/packages/plugins/users-permissions/server/controllers/validation/user.js @@ -18,7 +18,7 @@ const createUserBodySchema = yup.object().shape({ connect: yup .array() .of(yup.object().shape({ id: yup.strapiID().required() })) - .min(1) + .min(1, 'Users must have a role') .required(), }) .required() @@ -36,7 +36,16 @@ const updateUserBodySchema = yup.object().shape({ connect: yup .array() .of(yup.object().shape({ id: yup.strapiID().required() })) - .min(1) + .required(), + disconnect: yup + .array() + .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) { + if (value.connect.length === 0 && disconnectValue.length > 0) { + return false; + } + + return true; + }) .required(), }) : yup.strapiID()