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

/** Rendición desde móvil: el cobrador y la fecha se resuelven en el backend. */
export class RendirMobileDto {
  @ApiProperty({ description: 'Moneda de la rendición' })
  @IsUUID()
  moneda_id: string;

  @ApiPropertyOptional({ description: 'Recibos a incluir (si se omite, los disponibles del día)', type: [String] })
  @IsOptional()
  @IsArray()
  @IsUUID('4', { each: true })
  recibo_ids?: string[];

  @ApiPropertyOptional({ description: 'Monto declarado por el cobrador' })
  @IsOptional()
  @IsNumber()
  total_declarado?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  observaciones?: string;
}
