fix(notes): erreur 500 sur les notes antérieures (urls=NULL)

Les notes créées avant la migration 0061 ont urls=NULL en base. Le défaut
NoteResponse.urls=[] ne s'applique qu'à un attribut absent, pas à None, d'où
ResponseValidationError "Input should be a valid list" → GET /api/notes 500
→ "Erreur de chargement" côté UI.

Ajoute un field_validator(mode='before') qui coerce None → [].
Nettoie aussi l'import HttpUrl inutilisé.

v0.5.16

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 10:15:15 +02:00
parent 6c889f1561
commit 53018c16dd
2 changed files with 8 additions and 2 deletions
+7 -1
View File
@@ -1,6 +1,6 @@
import uuid import uuid
from datetime import datetime from datetime import datetime
from pydantic import BaseModel, ConfigDict, HttpUrl, field_validator from pydantic import BaseModel, ConfigDict, field_validator
class NoteUrl(BaseModel): class NoteUrl(BaseModel):
@@ -57,3 +57,9 @@ class NoteResponse(BaseModel):
urls: list[NoteUrl] = [] urls: list[NoteUrl] = []
created_at: datetime created_at: datetime
attachments: list[AttachmentResponse] attachments: list[AttachmentResponse]
@field_validator('urls', mode='before')
@classmethod
def coerce_urls(cls, v: object) -> object:
# Les notes antérieures à la migration 0061 ont urls=NULL en base.
return v or []
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "homehub-frontend", "name": "homehub-frontend",
"private": true, "private": true,
"version": "0.5.15", "version": "0.5.16",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",