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

export class CreateDepositoDto {
  @ApiProperty({ description: 'ID de la sucursal', example: 'uuid' })
  @IsNotEmpty()
  @IsUUID()
  sucursal_id: string;

  @ApiProperty({ description: 'Código del depósito', example: 'DEP-001', required: false })
  @IsOptional()
  @IsString()
  codigo?: string;

  @ApiProperty({ description: 'Descripción del depósito', example: 'Depósito Principal' })
  @IsNotEmpty()
  @IsString()
  descripcion: string;

  @ApiProperty({ description: 'Tipo de depósito', example: 'fisico', enum: ['fisico', 'virtual', 'transito'], required: false })
  @IsOptional()
  @IsString()
  tipo?: string;

  @ApiProperty({ description: 'Es depósito principal', example: false, required: false })
  @IsOptional()
  @IsBoolean()
  es_principal?: boolean;
}
