import { Transform } from 'class-transformer';
import { IsEmail, IsOptional, IsStrongPassword } from 'class-validator';

export class LoginDto {
  @IsOptional()
  @IsEmail({}, { message: 'Invalid email address.' })
  @Transform(({ value }) => value.trim().replace(/\s+/g, ' '))
  email: string;

  @IsOptional()
  @IsStrongPassword(
    {
      minLength: 8,
      minLowercase: 1,
      minNumbers: 1,
      minSymbols: 1,
      minUppercase: 1,
    },
    { message: `Password is not in valid format.` },
  )
  password: string;
}
