Files
warren/frontend/lib/schemas/admin.ts
409 a1c9832515 migrate to sqlite
NOTE: extension loading crashes docker (for some reason)
2025-09-07 15:09:14 +02:00

44 lines
1.3 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(),
canListShares: boolean().required(),
canCreateShares: boolean().required(),
canModifyShares: boolean().required(),
canDeleteShares: 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'),
});