- GET /auth/reprise-dossier?token= : dossier pour préremplir (token seul) - PATCH /auth/reprise-resoumettre : token + champs modifiables → en_attente, token invalidé - POST /auth/reprise-identify : numero_dossier + email → type + token - UserService: findByTokenReprise, resoumettreReprise, findByNumeroDossierAndEmailForReprise Made-with: Cursor
50 lines
1.0 KiB
TypeScript
50 lines
1.0 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
||
import { IsOptional, IsString, MaxLength, IsUUID } from 'class-validator';
|
||
|
||
/** Body PUT /auth/reprise-resoumettre – token + champs modifiables. Ticket #111 */
|
||
export class ResoumettreRepriseDto {
|
||
@ApiProperty({ description: 'Token reprise (reçu par email)' })
|
||
@IsUUID()
|
||
token: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
@MaxLength(100)
|
||
prenom?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
@MaxLength(100)
|
||
nom?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
@MaxLength(20)
|
||
telephone?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
adresse?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
@MaxLength(150)
|
||
ville?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
@IsOptional()
|
||
@IsString()
|
||
@MaxLength(10)
|
||
code_postal?: string;
|
||
|
||
@ApiProperty({ required: false, description: 'Pour AM' })
|
||
@IsOptional()
|
||
@IsString()
|
||
photo_url?: string;
|
||
}
|