From 8ed68797aa92bca6e66d8e990df2bb1ef537cf58 Mon Sep 17 00:00:00 2001 From: Julien Martin Date: Tue, 7 Jul 2026 23:41:45 +0200 Subject: [PATCH] =?UTF-8?q?fix(#131):=20PATCH=20fiche=20AM=20=E2=80=94=20N?= =?UTF-8?q?IR=20sans=20crash=20date=20ni=20effacement=20NOT=20NULL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .../assistantes_maternelles.service.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/src/routes/assistantes_maternelles/assistantes_maternelles.service.ts b/backend/src/routes/assistantes_maternelles/assistantes_maternelles.service.ts index 66a3c97..ced0e0e 100644 --- a/backend/src/routes/assistantes_maternelles/assistantes_maternelles.service.ts +++ b/backend/src/routes/assistantes_maternelles/assistantes_maternelles.service.ts @@ -126,9 +126,15 @@ export class AssistantesMaternellesService { if (dto.nir !== undefined) { const nirNormalized = dto.nir.replace(/\s/g, '').toUpperCase(); if (nirNormalized) { + const dateNaissanceForNir = + dto.date_naissance ?? + (user.date_naissance instanceof Date + ? user.date_naissance.toISOString().slice(0, 10) + : user.date_naissance + ? String(user.date_naissance).slice(0, 10) + : undefined); const nirValidation = validateNir(nirNormalized, { - dateNaissance: - dto.date_naissance ?? user.date_naissance?.toISOString().slice(0, 10), + dateNaissance: dateNaissanceForNir, }); if (!nirValidation.valid) { throw new BadRequestException(nirValidation.error || 'NIR invalide'); @@ -142,9 +148,8 @@ export class AssistantesMaternellesService { ); } amPatch.nir = nirNormalized; - } else { - (amPatch as { nir?: string | null }).nir = null; } + // NIR vide : ne pas effacer (colonne NOT NULL en BDD) — le front renvoie toujours la clé. } if (Object.keys(amPatch).length > 0) {