Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
28 lines
895 B
TypeScript
28 lines
895 B
TypeScript
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
import { IsEmail, IsOptional, IsString, MaxLength } from 'class-validator';
|
|
|
|
/**
|
|
* Demande d'effacement (RGPD art. 17).
|
|
*
|
|
* Le corps de la requête n'était pas validé : `confirmEmail` arrivait en
|
|
* `any`, et une valeur absente déclenchait une comparaison sur `undefined`
|
|
* remontée en erreur 500.
|
|
*/
|
|
export class DeleteAccountDto {
|
|
@ApiProperty({
|
|
example: 'personne@example.com',
|
|
description: "Adresse du compte, ressaisie pour confirmer un acte irréversible",
|
|
})
|
|
@IsEmail({}, { message: 'Une adresse email valide est requise pour confirmer.' })
|
|
confirmEmail: string;
|
|
|
|
@ApiPropertyOptional({
|
|
example: "Je n'utilise plus le service",
|
|
description: "Motif facultatif. La personne n'a pas à le justifier (art. 17.1).",
|
|
})
|
|
@IsOptional()
|
|
@IsString()
|
|
@MaxLength(500)
|
|
reason?: string;
|
|
}
|