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

export class ChangePasswordDto {
  @ApiProperty({
    example: 'AltesPasswort123!',
    description: 'Aktuelles Passwort',
  })
  @IsString()
  @IsNotEmpty({ message: 'Aktuelles Passwort darf nicht leer sein' })
  @MinLength(8, { message: 'Passwort muss mindestens 8 Zeichen lang sein' })
  currentPassword!: string;

  @ApiProperty({
    example: 'NeuesSicheresPasswort456!',
    description: 'Neues Passwort (mindestens 8 Zeichen)',
  })
  @IsString()
  @IsNotEmpty({ message: 'Neues Passwort darf nicht leer sein' })
  @MinLength(8, {
    message: 'Neues Passwort muss mindestens 8 Zeichen lang sein',
  })
  @MaxLength(128, { message: 'Passwort darf maximal 128 Zeichen lang sein' })
  newPassword!: string;
}
