import { IsBoolean, IsDecimal, IsInt, IsOptional, IsString, IsUUID } from 'class-validator';

export class UpsertBancardConfigDto {
  @IsOptional()
  @IsString()
  ambiente?: 'staging' | 'produccion';

  @IsOptional()
  @IsString()
  public_key?: string;

  @IsOptional()
  @IsString()
  private_key?: string;

  @IsOptional()
  @IsString()
  return_url_base?: string;

  @IsOptional()
  @IsString()
  cancel_url_base?: string;

  @IsOptional()
  @IsString()
  webhook_secret?: string;

  @IsOptional()
  @IsUUID()
  cuenta_contable_por_liquidar?: string;

  @IsOptional()
  @IsUUID()
  cuenta_contable_banco?: string;

  @IsOptional()
  @IsUUID()
  cuenta_contable_comision?: string;

  @IsOptional()
  @IsUUID()
  cuenta_contable_iva_comision?: string;

  @IsOptional()
  porcentaje_comision_credito?: number;

  @IsOptional()
  porcentaje_comision_debito?: number;

  @IsOptional()
  @IsInt()
  timeout_segundos?: number;

  @IsOptional()
  @IsBoolean()
  activo?: boolean;
}
