fix(server): /v1/prediction/import accepts pydantic-validated DataFrame bodies

A PUT body that pydantic validates as PydanticDateTimeDataFrame (or
PydanticDateTimeData) reached json.dumps(data), which cannot serialize
BaseModel instances - every such import failed with HTTP 400
"Object of type PydanticDateTimeDataFrame is not JSON serializable".
Serialize models via model_dump_json(), keep json.dumps for plain dicts.
This commit is contained in:
Christin
2026-08-08 11:09:30 +00:00
committed by Christin
parent 57d2917c0c
commit 840fb041e5
+1 -1
View File
@@ -993,7 +993,7 @@ def fastapi_prediction_import_provider(
if not provider.enabled() and not force_enable: if not provider.enabled() and not force_enable:
raise HTTPException(status_code=404, detail=f"Provider '{provider_id}' not enabled.") raise HTTPException(status_code=404, detail=f"Provider '{provider_id}' not enabled.")
try: try:
provider.import_from_json(json_str=json.dumps(data)) provider.import_from_json(json_str=data.model_dump_json() if hasattr(data, "model_dump_json") else json.dumps(data))
provider.update_datetime = to_datetime(in_timezone=get_config().general.timezone) provider.update_datetime = to_datetime(in_timezone=get_config().general.timezone)
except Exception as e: except Exception as e:
raise HTTPException( raise HTTPException(