26 lines
881 B
TypeScript
26 lines
881 B
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { IsString, MinLength, Matches } from 'class-validator';
|
|
|
|
/** Ticket #127 — mêmes règles que [CreatePasswordDto] (inscription #118). */
|
|
export class ResetPasswordDto {
|
|
@ApiProperty({ description: 'Token UUID reçu par e-mail (lien reset-password)' })
|
|
@IsString()
|
|
@MinLength(1, { message: 'Token manquant' })
|
|
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;
|
|
}
|