feat: donne aux immeubles un nom d'usage

Les comptes rendus n'identifient un immeuble que par son code de gestion
(« 33689020 »), illisible partout où il s'affiche. La dénomination
(« Servient ») le remplace à l'écran sans toucher au code, qui reste la clé
venue des PDF.

La colonne s'ajoute à une table déjà installée : elle passe donc par le
rattrapage de schéma, qui accepte désormais l'absence de valeur de
rattrapage. Déduire un nom d'usage du code en inventerait un.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 15:40:27 +02:00
parent 5a08b0c7e5
commit 9f5f46a93a
6 changed files with 71 additions and 11 deletions

View File

@@ -72,6 +72,7 @@ class ImmeubleResponse(BaseModel):
id: int
code: str
denomination: str | None = None
adresse: str | None
ville: str | None
code_postal: str | None
@@ -189,6 +190,20 @@ class DepensesSummary(BaseModel):
# ============================================================
class ImmeubleBody(BaseModel):
"""Ce qui se saisit sur un immeuble : son nom d'usage."""
denomination: str | None = None
@field_validator("denomination")
@classmethod
def _texte_vide_vaut_absent(cls, value: str | None) -> str | None:
"""Effacer le nom doit rendre l'immeuble à son code, pas le nommer « »."""
if value is None:
return None
return value.strip() or None
class CaracteristiquesBody(BaseModel):
"""Caractéristiques d'un logement telles que saisies.
@@ -248,6 +263,8 @@ class LotReferentielResponse(BaseModel):
numero: str
immeuble_id: int
immeuble_code: str | None
#: Nom d'usage de l'immeuble ; le tableau retombe sur le code s'il manque.
immeuble_denomination: str | None = None
#: Type de lot vu par l'extraction PDF, conservé tel quel.
type_extrait: str | None