v1.0.67 Backend / v1.0.61 Frontend - Fix 422: ai_analysis ahora acepta lista

Backend (1.0.67):
- 🐛 Fix: ai_analysis cambió de dict a list en schemas
- Soporta múltiples análisis de IA (una por cada imagen)
- AnswerCreate.ai_analysis: Optional[list] = None
- Answer.ai_analysis: Optional[list] = None
- Compatible con campo JSON en base de datos

Frontend (1.0.61):
- Sin cambios (ya enviaba ai_analysis como array)
- Formato: [{ success, analysis, raw_response, model, provider, imageIndex, fileName }]

Causa del error 422:
- Frontend enviaba: ai_analysis: [{ imageIndex: 1, ... }]
- Backend esperaba: ai_analysis: { ... } (dict)
- Ahora backend acepta: ai_analysis: [{ ... }, { ... }] (list)

Beneficio:
- Ahora se almacenan TODOS los análisis de múltiples imágenes
- Cada elemento del array tiene imageIndex para identificación
- Mantiene trazabilidad completa del análisis IA
This commit is contained in:
2025-11-27 02:11:56 -03:00
parent d1b4d10257
commit aa35c8f2eb
3 changed files with 4 additions and 4 deletions

View File

@@ -204,7 +204,7 @@ def send_completed_inspection_to_n8n(inspection, db):
# No lanzamos excepción para no interrumpir el flujo normal
BACKEND_VERSION = "1.0.66"
BACKEND_VERSION = "1.0.67"
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
# S3/MinIO configuration

View File

@@ -208,7 +208,7 @@ class AnswerBase(BaseModel):
class AnswerCreate(AnswerBase):
inspection_id: int
question_id: int
ai_analysis: Optional[dict] = None # Análisis de IA completo
ai_analysis: Optional[list] = None # Lista de análisis de IA (soporta múltiples imágenes)
class AnswerUpdate(AnswerBase):
pass
@@ -218,7 +218,7 @@ class Answer(AnswerBase):
inspection_id: int
question_id: int
points_earned: int
ai_analysis: Optional[dict] = None
ai_analysis: Optional[list] = None # Lista de análisis de IA
created_at: datetime
class Config:

View File

@@ -1,7 +1,7 @@
{
"name": "checklist-frontend",
"private": true,
"version": "1.0.60",
"version": "1.0.61",
"type": "module",
"scripts": {
"dev": "vite",