import { z } from 'zod';
import { SPEED_ACTION_COMMAND, SPEED_STATUS } from './Speed.const';

export const speedStatusSchema = z.enum(SPEED_STATUS);

export const speedModuleStatusSchema = z.object({
  speedStatus: speedStatusSchema,
  battery12V: z.number(),
  currentSpeed: z.number(),
  ADCVoltage: z.number(),
  DACVoltage: z.number(),
  currentDefaultSpeedConfig: z.number(),
});

export const speedActionCommandSchema = z.enum(SPEED_ACTION_COMMAND);

export const speedChangeOptionsSchema = z.object({
  speed: z.number().min(0).max(100),
  forUnlimitedTime: z.boolean().optional(),
});

export const speedConfigurationSchema = z.object({
  defaultSpeed: z.number().min(0).max(100),
  timeDuration: z.number().min(1).max(25),
});
