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:
@@ -204,7 +204,7 @@ def send_completed_inspection_to_n8n(inspection, db):
|
|||||||
# No lanzamos excepción para no interrumpir el flujo normal
|
# 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)
|
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
|
||||||
|
|
||||||
# S3/MinIO configuration
|
# S3/MinIO configuration
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ class AnswerBase(BaseModel):
|
|||||||
class AnswerCreate(AnswerBase):
|
class AnswerCreate(AnswerBase):
|
||||||
inspection_id: int
|
inspection_id: int
|
||||||
question_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):
|
class AnswerUpdate(AnswerBase):
|
||||||
pass
|
pass
|
||||||
@@ -218,7 +218,7 @@ class Answer(AnswerBase):
|
|||||||
inspection_id: int
|
inspection_id: int
|
||||||
question_id: int
|
question_id: int
|
||||||
points_earned: int
|
points_earned: int
|
||||||
ai_analysis: Optional[dict] = None
|
ai_analysis: Optional[list] = None # Lista de análisis de IA
|
||||||
created_at: datetime
|
created_at: datetime
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "checklist-frontend",
|
"name": "checklist-frontend",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.60",
|
"version": "1.0.61",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user