import { z } from 'zod';

export const createClientSchema = z.object({
  firstName: z.string().min(1, 'Имя обязательно').max(100),
  lastName: z.string().min(1, 'Фамилия обязательна').max(100),
  patronymic: z.string().max(100).optional(),
  phone: z
    .string()
    .min(1, 'Телефон обязателен')
    .regex(/^\+?[0-9]{10,15}$/, 'Некорректный формат телефона'),
  email: z.string().email('Некорректный email').optional(),
  birthDate: z.string().datetime().optional(),
  gender: z.enum(['MALE', 'FEMALE']).optional(),
  notes: z.string().max(2000).optional(),
  source: z.string().max(200).optional(),
  assignedTrainerId: z.string().uuid().optional(),
});

export const updateClientSchema = createClientSchema.partial();

export type CreateClientInput = z.infer<typeof createClientSchema>;
export type UpdateClientInput = z.infer<typeof updateClientSchema>;
