import { ApiProperty } from '@nestjs/swagger';
import { IsBoolean, IsNumber, Max, Min } from 'class-validator';

export class UpsertCostosOperacionCreditoDto {
  @ApiProperty({ default: false })
  @IsBoolean()
  activo: boolean;

  @ApiProperty({ description: '% comisión de venta usado si no hay comisión real ni % propio del vendedor', default: 0 })
  @IsNumber()
  @Min(0)
  @Max(100)
  comision_venta_pct: number;

  @ApiProperty({ description: '% sobre ingresos, solo ventas a crédito', default: 0 })
  @IsNumber()
  @Min(0)
  @Max(100)
  costo_cobranza_pct: number;

  @ApiProperty({ description: 'Costo de oportunidad del capital, tasa mensual sobre el costo de mercadería financiado', default: 0 })
  @IsNumber()
  @Min(0)
  @Max(100)
  costo_financiero_pct_mensual: number;

  @ApiProperty({ description: 'Provisión estadística de mora esperada, % sobre ingresos de ventas a crédito', default: 0 })
  @IsNumber()
  @Min(0)
  @Max(100)
  mora_esperada_pct: number;
}
