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; }