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

export class forgetPasswordDto {
  @IsEmail({}, { message: 'Invalid email address.' })
  @IsNotEmpty({ message: 'Email should not be empty.' })
  @Transform(({ value }) => value.trim().replace(/\s+/g, ' '))
  email: string;

  @IsStrongPassword(
    {
      minLength: 8,
      minLowercase: 1,
      minNumbers: 1,
      minSymbols: 1,
      minUppercase: 1,
    },
    { message: `New Password is not strong enough.` },
  )
  @IsNotEmpty({ message: 'New Password cannot be empty.' })
  new_password: string;

  @IsStrongPassword(
    {
      minLength: 8,
      minLowercase: 1,
      minNumbers: 1,
      minSymbols: 1,
      minUppercase: 1,
    },
    { message: `Confirm Password is not strong enough.` },
  )
  @IsNotEmpty({ message: 'Confirm Password cannot be empty.' })
  confirm_password: string;
}
