21 lines
725 B
TypeScript
21 lines
725 B
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { Transform } from 'class-transformer';
|
|
import { IsOptional, IsString, MaxLength } from 'class-validator';
|
|
|
|
/**
|
|
* Ticket #127 — pas de @IsEmail / @MinLength stricts : éviter 400 sur saisies vides ou bizarres ;
|
|
* le service renvoie toujours la même réponse 200 (anti-énumération).
|
|
*/
|
|
export class ForgotPasswordDto {
|
|
@ApiProperty({
|
|
example: 'parent@example.com',
|
|
required: false,
|
|
description: 'E-mail (trim + lowercase via transform). Absent ou vide → même réponse générique.',
|
|
})
|
|
@IsOptional()
|
|
@IsString()
|
|
@MaxLength(320)
|
|
@Transform(({ value }) => (typeof value === 'string' ? value.trim().toLowerCase() : ''))
|
|
email?: string;
|
|
}
|