import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
import { IsNotEmpty, IsOptional, IsString, MaxLength } from "class-validator";

// Solo para tenants sin ERP/POSTouch real detras -- una tienda que ya viene
// de un ERP nunca se crea desde aca, se sincroniza. Ver
// AuthService.createTienda para el resto de las reglas.
export class CreateTiendaDto {
  @ApiProperty({ description: "Nombre de la tienda" })
  @IsString()
  @IsNotEmpty()
  @MaxLength(255)
  nombre: string;

  @ApiPropertyOptional({ description: "Codigo corto de la tienda" })
  @IsOptional()
  @IsString()
  @MaxLength(5)
  codigo?: string;

  @ApiPropertyOptional({ description: "Direccion de la tienda" })
  @IsOptional()
  @IsString()
  @MaxLength(255)
  direccion?: string;

  @ApiPropertyOptional({ description: "Telefono para encabezados de impresion" })
  @IsOptional()
  @IsString()
  @MaxLength(80)
  telefonoImpresion?: string;
}
