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

export class AbrirCajaDto {
  @ApiProperty({ example: 'uuid-caja', description: 'ID de la caja a abrir' })
  @IsNotEmpty()
  @IsUUID()
  caja_id: string;

  @ApiProperty({ example: 500000, description: 'Monto inicial en caja' })
  @IsNotEmpty()
  @IsNumber()
  @Min(0)
  monto_apertura: number;

  @ApiPropertyOptional({ example: 'uuid-sucursal', description: 'ID de la sucursal' })
  @IsOptional()
  @IsUUID()
  sucursal_id?: string;

  @ApiPropertyOptional({ description: 'Token de autorización del supervisor' })
  @IsOptional()
  @IsString()
  token_autorizacion?: string;

  @ApiPropertyOptional({ description: 'Fingerprint del dispositivo' })
  @IsOptional()
  @IsString()
  dispositivo_fingerprint?: string;
}
