import { IsNumber, Max, Min } from "class-validator";

/**
 * Self-service UI preferences — any authenticated user may set these on their
 * own account, including VIEWER. No ability gate: it changes nothing but how
 * the app looks to that one person.
 *
 * The bounds mirror MIN_UI_SCALE/MAX_UI_SCALE in apps/web/src/lib/ui-scale.ts;
 * keep them in sync. The API clamps rather than trusting the client because
 * this endpoint is reachable outside the UI.
 */
export class UpdatePreferencesDto {
  @IsNumber()
  @Min(0.9)
  @Max(1.5)
  uiScale!: number;
}
