import { z } from 'zod'; export const UserRoleEnum = z.enum([ 'superuser', 'admin', 'manager', 'group_leader', 'developer', ]); export type UserRole = z.infer; export const UserSchema = z.object({ id: z.string(), email: z.string().email(), name: z.string(), avatar_url: z.string().optional(), organization_id: z.string(), role: UserRoleEnum, is_active: z.boolean().default(true), created_at: z.string().optional(), updated_at: z.string().optional(), }); export const CreateUserSchema = UserSchema.omit({ id: true, created_at: true, updated_at: true, }); export const UpdateUserSchema = CreateUserSchema.partial(); export type User = z.infer; export type CreateUser = z.infer; export type UpdateUser = z.infer;