From aa35c8f2eb7b3759609fb24c87b9d5457db83ae8 Mon Sep 17 00:00:00 2001 From: ronalds Date: Thu, 27 Nov 2025 02:11:56 -0300 Subject: [PATCH] v1.0.67 Backend / v1.0.61 Frontend - Fix 422: ai_analysis ahora acepta lista MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- backend/app/main.py | 2 +- backend/app/schemas.py | 4 ++-- frontend/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/app/main.py b/backend/app/main.py index 3bd5030..f54f705 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -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 diff --git a/backend/app/schemas.py b/backend/app/schemas.py index 7221741..8d0934e 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -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: diff --git a/frontend/package.json b/frontend/package.json index a030146..7848820 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "checklist-frontend", "private": true, - "version": "1.0.60", + "version": "1.0.61", "type": "module", "scripts": { "dev": "vite",