import { z } from "zod"

export const userSchema = z.object({
  id: z.string().optional(),
  name: z.string().min(1, "Name is required").max(100, "Name too long"),
  email: z.string().email("Invalid email address"),
  password: z.string().min(6, "Password must be at least 6 characters").max(100, "Password too long"),
  isActive: z.boolean().default(true),
  roleIds: z.array(z.string()).default([]),
})

export const userUpdateSchema = userSchema.partial().omit({ password: true }).extend({
  password: z.string().min(6).optional(),
})

export type UserInput = z.infer<typeof userSchema>
export type UserUpdateInput = z.infer<typeof userUpdateSchema>

