29 lines
868 B
TypeScript
29 lines
868 B
TypeScript
import { boolean, object, string } from 'yup';
|
|
import { registerSchema } from './auth';
|
|
|
|
export const createUserSchema = registerSchema.concat(
|
|
object({
|
|
admin: boolean().default(false),
|
|
})
|
|
);
|
|
export const editUserSchema = object({
|
|
name: string().trim().min(1).required('required'),
|
|
email: string().email().trim().required('required'),
|
|
password: string()
|
|
.trim()
|
|
.min(12)
|
|
.max(32)
|
|
.transform((s: string) => (s.length > 0 ? s : undefined))
|
|
.optional(),
|
|
admin: boolean().required('required'),
|
|
});
|
|
|
|
export const userWarrenSchema = object({
|
|
userId: string().uuid().required(),
|
|
warrenId: string().uuid().required('required'),
|
|
canListFiles: boolean().required(),
|
|
canReadFiles: boolean().required(),
|
|
canModifyFiles: boolean().required(),
|
|
canDeleteFiles: boolean().required(),
|
|
});
|