Symétrique #168 : GET/PUT /assistantes-maternelles/me/couples-garde avec parents[] pour le bandeau enfant|foyer. Colonne id_placement_garde_courant sur assistantes_maternelles. Co-authored-by: Cursor <cursoragent@cursor.com>
68 lines
1.6 KiB
TypeScript
68 lines
1.6 KiB
TypeScript
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;
|
||
}
|