import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { StatutUtilisateurType } from 'src/entities/users.entity'; /** Ligne de liste GET /dossiers (#153). */ export class DossierListItemDto { @ApiProperty({ enum: ['famille', 'assistante_maternelle'], description: 'Type de dossier', }) type: 'famille' | 'assistante_maternelle'; @ApiProperty({ example: '2026-000043' }) numero_dossier: string; @ApiProperty({ example: 'Claire MARTIN & Thomas MARTIN', description: 'Libellé affiché (noms)', }) libelle: string; @ApiProperty({ type: [String], example: ['claire@example.com', 'thomas@example.com'], }) emails: string[]; @ApiProperty({ type: [String], format: 'uuid', description: 'IDs utilisateur liés au dossier (parents du foyer ou AM)', }) user_ids: string[]; @ApiProperty({ enum: StatutUtilisateurType, description: 'Statut agrégé : en_attente si au moins un user en_attente, sinon statut du premier', }) statut: StatutUtilisateurType; @ApiProperty({ description: 'True si le dossier est en attente de validation (section haute UI)', }) a_valider: boolean; @ApiPropertyOptional({ nullable: true, example: '2026-01-12T10:00:00.000Z', description: 'Date de référence (MIN cree_le des users du dossier)', }) date_reference: string | null; @ApiPropertyOptional({ description: 'True si dossier famille sans enfant lié (#159). Omis ou false pour AM.', }) sans_enfant?: boolean; }