import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; /** Identité minimale enfant — ticket #171 (miroir #168) */ export class CoupleGardeAmEnfantDto { @ApiProperty({ format: 'uuid' }) id: string; @ApiPropertyOptional() prenom?: string | null; @ApiPropertyOptional() nom?: string | null; @ApiPropertyOptional() photo_url?: string | null; } /** Identité minimale parent pour bandeau AM — ticket #171 */ export class CoupleGardeAmParentDto { @ApiProperty({ format: 'uuid', description: 'UUID utilisateur du parent' }) id: string; @ApiPropertyOptional() prenom?: string | null; @ApiPropertyOptional() nom?: string | null; @ApiPropertyOptional() photo_url?: string | null; } /** * Un couple côté AM = placement actif enfant ↔ foyer parents. * `id` = enfants_assistantes_maternelles.id (même clé que #168). */ export class CoupleGardeAmDto { @ApiProperty({ format: 'uuid', description: 'Id du placement (enfants_assistantes_maternelles.id)', }) id: string; @ApiProperty({ type: CoupleGardeAmEnfantDto }) enfant: CoupleGardeAmEnfantDto; @ApiProperty({ type: [CoupleGardeAmParentDto], description: 'Parents rattachés à l’enfant (0–2 typiquement)', }) parents: CoupleGardeAmParentDto[]; @ApiProperty({ description: 'True si c’est le couple actuellement sélectionné' }) courant: boolean; } export class CouplesGardeAmResponseDto { @ApiProperty({ type: [CoupleGardeAmDto] }) couples: CoupleGardeAmDto[]; @ApiPropertyOptional({ format: 'uuid', nullable: true, description: 'Id du couple courant (null si aucun)', }) couple_courant_id: string | null; }