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

export class CreateRepartitionKeyDto {
  @ApiProperty({ example: 'BAT_A' }) @IsString() code!: string;
  @ApiProperty({ example: 'Charges bâtiment A' }) @IsString() label!: string;

  @ApiProperty({ enum: RepartitionKeyType })
  @IsEnum(RepartitionKeyType)
  type!: RepartitionKeyType;

  @ApiPropertyOptional({ description: 'Required when type=SPECIALE' })
  @IsOptional()
  @IsUUID()
  scopeSpatialUnitId?: string;

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