- GET reprise-dossier : parents[], enfants[], texte_motivation (famille) ou fiche AM (#119) - PATCH reprise-resoumettre : co-parent, enfants (update par id), motivation, fiche AM - Resoumission famille : tous les parents en en_attente + invalidation token groupée - DTOs étendus + est_multiple sur enfants dossier famille - Tests unitaires getRepriseDossier parent/AM Co-authored-by: Cursor <cursoragent@cursor.com>
92 lines
2.1 KiB
TypeScript
92 lines
2.1 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
||
import { RoleType } from 'src/entities/users.entity';
|
||
import {
|
||
DossierFamilleEnfantDto,
|
||
DossierFamilleParentDto,
|
||
} from '../../parents/dto/dossier-famille-complet.dto';
|
||
|
||
/** Réponse GET /auth/reprise-dossier – dossier complet pour préremplir le wizard reprise. #111 + #112 */
|
||
export class RepriseDossierDto {
|
||
@ApiProperty()
|
||
id: string;
|
||
|
||
@ApiProperty()
|
||
email: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
prenom?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
nom?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
telephone?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
adresse?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
ville?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
code_postal?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
numero_dossier?: string;
|
||
|
||
@ApiProperty({ enum: RoleType })
|
||
role: RoleType;
|
||
|
||
@ApiProperty({ required: false, description: 'Pour AM' })
|
||
photo_url?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
genre?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
situation_familiale?: string;
|
||
|
||
// --- Parent (dossier famille, aligné #119) ---
|
||
|
||
@ApiProperty({ type: [DossierFamilleParentDto], required: false })
|
||
parents?: DossierFamilleParentDto[];
|
||
|
||
@ApiProperty({ type: [DossierFamilleEnfantDto], required: false })
|
||
enfants?: DossierFamilleEnfantDto[];
|
||
|
||
@ApiProperty({ required: false, description: 'Motivation / présentation dossier famille' })
|
||
texte_motivation?: string;
|
||
|
||
// --- AM (aligné DossierAmCompletDto) ---
|
||
|
||
@ApiProperty({ required: false })
|
||
consentement_photo?: boolean;
|
||
|
||
@ApiProperty({ required: false })
|
||
date_naissance?: Date;
|
||
|
||
@ApiProperty({ required: false })
|
||
lieu_naissance_ville?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
lieu_naissance_pays?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
numero_agrement?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
nir?: string;
|
||
|
||
@ApiProperty({ required: false })
|
||
date_agrement?: Date;
|
||
|
||
@ApiProperty({ required: false })
|
||
nb_max_enfants?: number;
|
||
|
||
@ApiProperty({ required: false })
|
||
place_disponible?: number;
|
||
|
||
@ApiProperty({ required: false })
|
||
biographie?: string;
|
||
}
|