;
import { IsNotEmpty, MinLength, MaxLength, Matches } from 'class-validator';
import { validationMessages } from '../../../messages/validation-messages';
import { ApiProperty } from '@nestjs/swagger';
import { MatchPasswordValidator } from '../../../validators/match-password.validator';

export class ChangePasswordDto
{
  @ApiProperty({ example: 'xxxxxxx', required : true, type : 'string' })
  @IsNotEmpty({ message: validationMessages.common.old_password })
  old_password: string;

  @ApiProperty({ example: 'xxxxxxx', required : true, type : 'string' })
  @IsNotEmpty({ message: validationMessages.common.new_password })
  @MinLength(8)
  @MaxLength(20)
  password: string;

  @ApiProperty({ example: 'xxxxxxx', required : true, type : 'string' })
  @MatchPasswordValidator({ message: validationMessages.user.password_not_match })
  @MinLength(8)
  @MaxLength(20)
  @IsNotEmpty({ message: validationMessages.user.confirm_password_required  })
  confirm_password: string;
}
