import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
import {
  IsBoolean,
  IsInt,
  IsOptional,
  IsString,
  Min,
  ValidateIf,
} from "class-validator";

export class UpdateTiendaFacturacionPosDto {
  @ApiProperty({ description: "Activa o desactiva el envio automatico a POSTouch para esta tienda" })
  @IsBoolean()
  habilitada: boolean;

  @ApiPropertyOptional({ description: "URL de create_ordenes_edngt en POSTouch para esta tienda" })
  @ValidateIf((o) => o.habilitada)
  @IsString()
  url?: string;

  @ApiPropertyOptional({ description: "_username de la sesion de servicio en POSTouch" })
  @ValidateIf((o) => o.habilitada)
  @IsString()
  username?: string;

  @ApiPropertyOptional({ description: "_password de la sesion de servicio en POSTouch" })
  @IsOptional()
  @IsString()
  password?: string;

  @ApiPropertyOptional({ description: "Identificador de computadora requerido por POSTouch, especifico de esta tienda/caja" })
  @ValidateIf((o) => o.habilitada)
  @IsString()
  computadora?: string;

  @ApiPropertyOptional({ description: "Decimales de redondeo de esta tienda (ParametrosGlobales.precioDecimales)" })
  @ValidateIf((o) => o.habilitada)
  @IsInt()
  @Min(0)
  precioDecimales?: number;
}
