import { IsEmail, IsString, MinLength, MaxLength, IsOptional } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';

export class RegisterDto {
  @ApiProperty({ example: 'Ana Silva' })
  @IsString()
  @MaxLength(100)
  name: string;

  @ApiProperty({ example: 'ana@email.com' })
  @IsEmail()
  email: string;

  @ApiProperty({ example: 'SenhaForte123!' })
  @IsString()
  @MinLength(8)
  @MaxLength(100)
  password: string;

  @ApiProperty({ example: 'Família Silva', required: false })
  @IsOptional()
  @IsString()
  @MaxLength(100)
  familyName?: string;

  @ApiProperty({ example: 'America/Sao_Paulo', required: false })
  @IsOptional()
  @IsString()
  timezone?: string;

  @ApiProperty({ example: 'pt-BR', required: false })
  @IsOptional()
  @IsString()
  locale?: string;
}
