{"version":3,"file":"user.mjs","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n  role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n  email: yup.string().email().required(),\n  username: yup.string().min(1).required(),\n  password: yup.string().min(1).required(),\n  role: yup.lazy((value) =>\n    typeof value === 'object'\n      ? yup\n          .object()\n          .shape({\n            connect: yup\n              .array()\n              .of(yup.object().shape({ id: yup.strapiID().required() }))\n              .min(1, 'Users must have a role')\n              .required(),\n          })\n          .required()\n      : yup.strapiID().required()\n  ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n  email: yup.string().email().min(1),\n  username: yup.string().min(1),\n  password: yup\n    .mixed()\n    .test(\n      'password-validation',\n      'Password must be at least 1 character',\n      function validatePassword(value) {\n        if (value == null || value === '') {\n          return true;\n        }\n        return typeof value === 'string' && value.length >= 1;\n      }\n    ),\n  role: yup.lazy((value) =>\n    typeof value === 'object'\n      ? yup.object().shape({\n          connect: yup\n            .array()\n            .of(yup.object().shape({ id: yup.strapiID().required() }))\n            .required(),\n          disconnect: yup\n            .array()\n            .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n              if (value.connect.length === 0 && disconnectValue.length > 0) {\n                return false;\n              }\n\n              return true;\n            })\n            .required(),\n        })\n      : yup.strapiID()\n  ),\n});\n\nmodule.exports = {\n  validateCreateUserBody: validateYupSchema(createUserBodySchema),\n  validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n  validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","mixed","test","validatePassword","length","disconnect","disconnectValue","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}