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) {