import { ApiPropertyOptional } from '@nestjs/swagger';
import { IsOptional, IsString } from 'class-validator';

export class QuerySolicitudesCreditoDto {
  @ApiPropertyOptional({ description: 'Filtrar por estado' })
  @IsOptional()
  @IsString()
  estado?: string;

  @ApiPropertyOptional({ description: 'Filtrar por cliente ID' })
  @IsOptional()
  @IsString()
  cliente_id?: string;

  @ApiPropertyOptional({ description: 'Filtrar por vendedor ID' })
  @IsOptional()
  @IsString()
  vendedor_id?: string;

  @ApiPropertyOptional({ description: 'Filtrar por sucursal ID' })
  @IsOptional()
  @IsString()
  sucursal_id?: string;

  @ApiPropertyOptional({ description: 'Buscar por número de solicitud o cliente' })
  @IsOptional()
  @IsString()
  search?: string;

  @ApiPropertyOptional({ description: 'Fecha desde (ISO string)' })
  @IsOptional()
  @IsString()
  fecha_desde?: string;

  @ApiPropertyOptional({ description: 'Fecha hasta (ISO string)' })
  @IsOptional()
  @IsString()
  fecha_hasta?: string;

  @ApiPropertyOptional({ description: 'Página (1-indexed)', default: '1' })
  @IsOptional()
  @IsString()
  page?: string;

  @ApiPropertyOptional({ description: 'Items por página', default: '20' })
  @IsOptional()
  @IsString()
  limit?: string;
}
