import { z } from 'zod';

export const createTrainingSchema = z.object({
  clientId: z.string().uuid('Некорректный ID клиента'),
  serviceId: z.string().uuid().optional(),
  roomId: z.string().uuid().optional(),
  scheduledAt: z.string().datetime('Некорректная дата'),
  duration: z.number().int().min(15).max(480).default(60),
  isRepeating: z.boolean().default(false),
});

export const rescheduleTrainingSchema = z.object({
  scheduledAt: z.string().datetime('Некорректная дата'),
  duration: z.number().int().min(15).max(480).optional(),
  roomId: z.string().uuid().optional(),
});

export const cancelTrainingSchema = z.object({
  cancelReason: z.enum(['CLIENT_CANCEL', 'NO_DEDUCTION', 'SALE_RETURN', 'SICK']),
  cancelComment: z.string().max(500).optional(),
});

export type CreateTrainingInput = z.infer<typeof createTrainingSchema>;
export type RescheduleTrainingInput = z.infer<typeof rescheduleTrainingSchema>;
export type CancelTrainingInput = z.infer<typeof cancelTrainingSchema>;
