From 2765277cd0cfd898c0f6b0f229f4c2327b01ce83 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 20 Jan 2026 06:18:26 +0100 Subject: [PATCH] refactor: /freqaimodels to webserver section --- freqtrade/rpc/api_server/api_v1.py | 10 ---------- freqtrade/rpc/api_server/api_webserver.py | 11 +++++++++++ tests/rpc/test_rpc_apiserver.py | 2 ++ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/freqtrade/rpc/api_server/api_v1.py b/freqtrade/rpc/api_server/api_v1.py index f1be42abe..2af68956a 100644 --- a/freqtrade/rpc/api_server/api_v1.py +++ b/freqtrade/rpc/api_server/api_v1.py @@ -429,16 +429,6 @@ def plot_config( raise HTTPException(status_code=502, detail=str(e)) -@router.get("/freqaimodels", response_model=FreqAIModelListResponse, tags=["freqai"]) -def list_freqaimodels(config=Depends(get_config)): - from freqtrade.resolvers.freqaimodel_resolver import FreqaiModelResolver - - models = FreqaiModelResolver.search_all_objects(config, False) - models = sorted(models, key=lambda x: x["name"]) - - return {"freqaimodels": [x["name"] for x in models]} - - @router.get("/markets", response_model=MarketResponse, tags=["candle data", "webserver"]) def markets( query: Annotated[MarketRequest, Query()], diff --git a/freqtrade/rpc/api_server/api_webserver.py b/freqtrade/rpc/api_server/api_webserver.py index deda240da..ae54280e3 100644 --- a/freqtrade/rpc/api_server/api_webserver.py +++ b/freqtrade/rpc/api_server/api_webserver.py @@ -10,6 +10,7 @@ from freqtrade.exceptions import OperationalException from freqtrade.rpc.api_server.api_schemas import ( AvailablePairs, ExchangeListResponse, + FreqAIModelListResponse, HyperoptLossListResponse, StrategyListResponse, StrategyResponse, @@ -92,6 +93,16 @@ def list_hyperoptloss( } +@router.get("/freqaimodels", response_model=FreqAIModelListResponse, tags=["freqai"]) +def list_freqaimodels(config=Depends(get_config)): + from freqtrade.resolvers.freqaimodel_resolver import FreqaiModelResolver + + models = FreqaiModelResolver.search_all_objects(config, False) + models = sorted(models, key=lambda x: x["name"]) + + return {"freqaimodels": [x["name"] for x in models]} + + @router.get( "/available_pairs", response_model=AvailablePairs, tags=["candle data", "download-data"] ) diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index 31bc9b8fc..57831935b 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -2655,6 +2655,8 @@ def test_list_hyperoptloss(botclient, tmp_path): def test_api_freqaimodels(botclient, tmp_path, mocker): ftbot, client = botclient ftbot.config["user_data_dir"] = tmp_path + ftbot.config["runmode"] = RunMode.WEBSERVER + mocker.patch( "freqtrade.resolvers.freqaimodel_resolver.FreqaiModelResolver.search_all_objects", return_value=[