import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { ComplexType } from '@prisma/client';
import { IsEnum, IsNumber, IsOptional, IsString } from 'class-validator';

export class CreateComplexDto {
  @ApiProperty() @IsString() name!: string;

  @ApiProperty({ enum: ComplexType, default: ComplexType.COPROPRIETE })
  @IsEnum(ComplexType)
  type!: ComplexType;

  @ApiPropertyOptional() @IsOptional() @IsString() address?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() city?: string;
  @ApiPropertyOptional({ default: 'MA' }) @IsOptional() @IsString() country?: string;
  @ApiPropertyOptional() @IsOptional() @IsNumber() gpsLat?: number;
  @ApiPropertyOptional() @IsOptional() @IsNumber() gpsLng?: number;
}
