Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { t } from 'elysia';
import { VALID_ROLES } from '../constants/roles';
// Custom validator for roles that throws a specific error
const RoleValidator = t.String({
validate: (value: string) => {
return VALID_ROLES.includes(value as (typeof VALID_ROLES)[number]);
},
error: `El rol proporcionado no es válido. Debe ser uno de los siguientes: ${VALID_ROLES.join(
', '
)}`,
});
export const createUserValidator = t.Object({
email: t.String({
format: 'email',
error: 'Debe proporcionar un email válido',
}),
password: t.String({
minLength: 6,
error:
'La contraseña debe tener al menos 6 caracteres, incluir una letra minúscula, un número y un carácter no alfanumérico',
}),
role: t.String(RoleValidator),
});
export const loginUserValidator = t.Object({
email: t.String({
format: 'email',
error: 'Debe proporcionar un email válido',
}),
password: t.String({
error: 'Debe proporcionar una contraseña',
}),
});
export const resetPasswordValidator = t.Object({
email: t.String({
format: 'email',
error: 'Debe proporcionar un email válido',
}),
});
export const updateUserValidator = t.Object({
email: t.Optional(t.String({
format: 'email',
error: 'Debe proporcionar un email válido',
})),
role: t.Optional(t.String(RoleValidator)),
});
|