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

export class CreatePasswordDto {
    @ApiProperty({ description: 'Token de création de mot de passe reçu par email' })
    @IsString()
    token: string;

    @ApiProperty({
        description: 'Nouveau mot de passe (min 8 caractères, 1 majuscule, 1 chiffre)',
        minLength: 8,
    })
    @IsString()
    @MinLength(8, { message: 'Le mot de passe doit contenir au moins 8 caractères' })
    @Matches(/^(?=.*[A-Z])(?=.*\d)/, {
        message: 'Le mot de passe doit contenir au moins une majuscule et un chiffre',
    })
    password: string;

    @ApiProperty({ description: 'Confirmation du nouveau mot de passe' })
    @IsString()
    password_confirmation: string;
}
