Files
warren/frontend/lib/schemas/admin.ts
2025-07-22 22:01:43 +02:00

39 lines
1.1 KiB
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(),
});
export const createWarrenSchema = object({
name: string().min(1).required('required'),
path: string().min(1).required('required'),
});
export const editWarrenSchema = object({
name: string().min(1).required('required'),
path: string().min(1).required('required'),
});