import { z } from 'zod'

export const createOrgSchema = z.object({
  name: z.string().min(2, '企业名称至少2个字').max(50, '企业名称最多50个字'),
  plan: z.enum(['FREE', 'PRO', 'ENTERPRISE']).default('FREE'),
  maxEmployees: z.number().int().min(1).max(100000).default(20),
  city: z.string().max(50).optional(),
  contactName: z.string().max(30).optional(),
  contactPhone: z.string().regex(/^1[3-9]\d{9}$/).optional(),
  adminName: z.string().max(30).optional(),
  adminPhone: z.string().regex(/^1[3-9]\d{9}$/, '手机号格式不正确'),
  adminPassword: z.string().min(8, '密码至少8位').max(32, '密码最多32位'),
})

export const updateOrgSchema = z.object({
  name: z.string().min(2).max(50).optional(),
  plan: z.enum(['FREE', 'PRO', 'ENTERPRISE']).optional(),
  maxEmployees: z.number().int().min(1).max(100000).optional(),
  city: z.string().max(50).optional().nullable(),
  contactName: z.string().max(30).optional().nullable(),
  contactPhone: z.string().regex(/^1[3-9]\d{9}$/).optional().nullable(),
})

export const updateOrgAdminSchema = z.object({
  adminName: z.string().max(30).optional(),
  adminPhone: z.string().regex(/^1[3-9]\d{9}$/).optional(),
  adminPassword: z.string().min(8, '密码至少8位').max(32).optional(),
})

export const createPlatformAdminSchema = z.object({
  name: z.string().min(1, '姓名不能为空').max(30),
  phone: z.string().regex(/^1[3-9]\d{9}$/, '手机号格式不正确'),
  password: z.string().min(8, '密码至少8位').max(32, '密码最多32位'),
})
