chore: improved tag namings

This commit is contained in:
Matthias
2026-01-22 07:09:26 +01:00
parent 18933a6e20
commit c778e44e80
5 changed files with 23 additions and 32 deletions
@@ -13,7 +13,7 @@ logger = logging.getLogger(__name__)
router = APIRouter() router = APIRouter()
@router.get("/background", response_model=list[BackgroundTaskStatus], tags=["webserver"]) @router.get("/background", response_model=list[BackgroundTaskStatus])
def background_job_list(): def background_job_list():
return [ return [
{ {
@@ -29,7 +29,7 @@ def background_job_list():
] ]
@router.get("/background/{jobid}", response_model=BackgroundTaskStatus, tags=["webserver"]) @router.get("/background/{jobid}", response_model=BackgroundTaskStatus)
def background_job(jobid: str): def background_job(jobid: str):
if not (job := ApiBG.jobs.get(jobid)): if not (job := ApiBG.jobs.get(jobid)):
raise HTTPException(status_code=404, detail="Job not found.") raise HTTPException(status_code=404, detail="Job not found.")
+9 -19
View File
@@ -125,7 +125,7 @@ def __run_backtest_bg(btconfig: Config):
ApiBG.bgtask_running = False ApiBG.bgtask_running = False
@router.post("/backtest", response_model=BacktestResponse, tags=["webserver", "backtest"]) @router.post("/backtest", response_model=BacktestResponse, tags=["backtest"])
async def api_start_backtest( async def api_start_backtest(
bt_settings: BacktestRequest, background_tasks: BackgroundTasks, config=Depends(get_config) bt_settings: BacktestRequest, background_tasks: BackgroundTasks, config=Depends(get_config)
): ):
@@ -168,7 +168,7 @@ async def api_start_backtest(
} }
@router.get("/backtest", response_model=BacktestResponse, tags=["webserver", "backtest"]) @router.get("/backtest", response_model=BacktestResponse, tags=["backtest"])
def api_get_backtest(): def api_get_backtest():
""" """
Get backtesting result. Get backtesting result.
@@ -215,7 +215,7 @@ def api_get_backtest():
} }
@router.delete("/backtest", response_model=BacktestResponse, tags=["webserver", "backtest"]) @router.delete("/backtest", response_model=BacktestResponse, tags=["backtest"])
def api_delete_backtest(): def api_delete_backtest():
"""Reset backtesting""" """Reset backtesting"""
if ApiBG.bgtask_running: if ApiBG.bgtask_running:
@@ -242,7 +242,7 @@ def api_delete_backtest():
} }
@router.get("/backtest/abort", response_model=BacktestResponse, tags=["webserver", "backtest"]) @router.get("/backtest/abort", response_model=BacktestResponse, tags=["backtest"])
def api_backtest_abort(): def api_backtest_abort():
if not ApiBG.bgtask_running: if not ApiBG.bgtask_running:
return { return {
@@ -262,17 +262,13 @@ def api_backtest_abort():
} }
@router.get( @router.get("/backtest/history", response_model=list[BacktestHistoryEntry], tags=["backtest"])
"/backtest/history", response_model=list[BacktestHistoryEntry], tags=["webserver", "backtest"]
)
def api_backtest_history(config=Depends(get_config)): def api_backtest_history(config=Depends(get_config)):
# Get backtest result history, read from metadata files # Get backtest result history, read from metadata files
return get_backtest_resultlist(config["user_data_dir"] / "backtest_results") return get_backtest_resultlist(config["user_data_dir"] / "backtest_results")
@router.get( @router.get("/backtest/history/result", response_model=BacktestResponse, tags=["backtest"])
"/backtest/history/result", response_model=BacktestResponse, tags=["webserver", "backtest"]
)
def api_backtest_history_result(filename: str, strategy: str, config=Depends(get_config)): def api_backtest_history_result(filename: str, strategy: str, config=Depends(get_config)):
# Get backtest result history, read from metadata files # Get backtest result history, read from metadata files
bt_results_base: Path = config["user_data_dir"] / "backtest_results" bt_results_base: Path = config["user_data_dir"] / "backtest_results"
@@ -300,9 +296,7 @@ def api_backtest_history_result(filename: str, strategy: str, config=Depends(get
@router.delete( @router.delete(
"/backtest/history/{file}", "/backtest/history/{file}", response_model=list[BacktestHistoryEntry], tags=["backtest"]
response_model=list[BacktestHistoryEntry],
tags=["webserver", "backtest"],
) )
def api_delete_backtest_history_entry(file: str, config=Depends(get_config)): def api_delete_backtest_history_entry(file: str, config=Depends(get_config)):
# Get backtest result history, read from metadata files # Get backtest result history, read from metadata files
@@ -320,9 +314,7 @@ def api_delete_backtest_history_entry(file: str, config=Depends(get_config)):
@router.patch( @router.patch(
"/backtest/history/{file}", "/backtest/history/{file}", response_model=list[BacktestHistoryEntry], tags=["backtest"]
response_model=list[BacktestHistoryEntry],
tags=["webserver", "backtest"],
) )
def api_update_backtest_history_entry( def api_update_backtest_history_entry(
file: str, body: BacktestMetadataUpdate, config=Depends(get_config) file: str, body: BacktestMetadataUpdate, config=Depends(get_config)
@@ -347,9 +339,7 @@ def api_update_backtest_history_entry(
@router.get( @router.get(
"/backtest/history/{file}/market_change", "/backtest/history/{file}/market_change", response_model=BacktestMarketChange, tags=["backtest"]
response_model=BacktestMarketChange,
tags=["webserver", "backtest"],
) )
def api_get_backtest_market_change(file: str, config=Depends(get_config)): def api_get_backtest_market_change(file: str, config=Depends(get_config)):
bt_results_base: Path = config["user_data_dir"] / "backtest_results" bt_results_base: Path = config["user_data_dir"] / "backtest_results"
@@ -17,7 +17,7 @@ from freqtrade.util.progress_tracker import get_progress_tracker
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# Private API, protected by authentication and webserver_mode dependency # Private API, protected by authentication and webserver_mode dependency
router = APIRouter(tags=["download-data", "webserver"]) router = APIRouter()
def __run_download(job_id: str, config_loc: Config): def __run_download(job_id: str, config_loc: Config):
+3 -5
View File
@@ -25,9 +25,7 @@ logger = logging.getLogger(__name__)
router = APIRouter() router = APIRouter()
@router.get( @router.get("/pairlists/available", response_model=PairListsResponse, tags=["pairlists"])
"/pairlists/available", response_model=PairListsResponse, tags=["pairlists", "webserver"]
)
def list_pairlists(config=Depends(get_config)): def list_pairlists(config=Depends(get_config)):
from freqtrade.resolvers import PairListResolver from freqtrade.resolvers import PairListResolver
@@ -72,7 +70,7 @@ def __run_pairlist(job_id: str, config_loc: Config):
ApiBG.pairlist_running = False ApiBG.pairlist_running = False
@router.post("/pairlists/evaluate", response_model=BgJobStarted, tags=["pairlists", "webserver"]) @router.post("/pairlists/evaluate", response_model=BgJobStarted, tags=["pairlists"])
def pairlists_evaluate( def pairlists_evaluate(
payload: PairListsPayload, background_tasks: BackgroundTasks, config=Depends(get_config) payload: PairListsPayload, background_tasks: BackgroundTasks, config=Depends(get_config)
): ):
@@ -129,7 +127,7 @@ def handleExchangePayload(payload: ExchangeModePayloadMixin, config_loc: Config)
@router.get( @router.get(
"/pairlists/evaluate/{jobid}", "/pairlists/evaluate/{jobid}",
response_model=WhitelistEvaluateResponse, response_model=WhitelistEvaluateResponse,
tags=["pairlists", "webserver"], tags=["pairlists"],
) )
def pairlists_evaluate_get(jobid: str): def pairlists_evaluate_get(jobid: str):
if not (job := ApiBG.jobs.get(jobid)): if not (job := ApiBG.jobs.get(jobid)):
+8 -5
View File
@@ -30,15 +30,15 @@ _OPENAPI_TAGS = (
"description": ("Information endpoints providing general information about the bot."), "description": ("Information endpoints providing general information about the bot."),
}, },
{ {
"name": "trading", "name": "Trading",
"description": f"Trading related endpoints - {_TRADE_MODE_ONLY}.", "description": f"Trading related endpoints - {_TRADE_MODE_ONLY}.",
}, },
{ {
"name": "webserver", "name": "Webserver",
"description": ("Webserver related endpoints - *only available in webserver mode*."), "description": ("Webserver related endpoints - *only available in webserver mode*."),
}, },
{ {
"name": "botcontrol", "name": "Bot-control",
"description": (f"Bot control endpoints to start/stop trading - {_TRADE_MODE_ONLY}."), "description": (f"Bot control endpoints to start/stop trading - {_TRADE_MODE_ONLY}."),
}, },
{ {
@@ -177,13 +177,13 @@ class ApiServer(RPCHandler):
app.include_router( app.include_router(
api_trading, api_trading,
prefix="/api/v1", prefix="/api/v1",
tags=["trading"], tags=["Trading"],
dependencies=[Depends(http_basic_or_jwt_token), Depends(is_trading_mode)], dependencies=[Depends(http_basic_or_jwt_token), Depends(is_trading_mode)],
) )
app.include_router( app.include_router(
api_webserver, api_webserver,
prefix="/api/v1", prefix="/api/v1",
tags=["webserver"], tags=["Webserver"],
dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)], dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)],
) )
app.include_router( app.include_router(
@@ -194,6 +194,7 @@ class ApiServer(RPCHandler):
app.include_router( app.include_router(
api_bg_tasks, api_bg_tasks,
prefix="/api/v1", prefix="/api/v1",
tags=["Webserver"],
dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)], dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)],
) )
app.include_router( app.include_router(
@@ -204,11 +205,13 @@ class ApiServer(RPCHandler):
app.include_router( app.include_router(
api_pairlists, api_pairlists,
prefix="/api/v1", prefix="/api/v1",
tags=["Webserver"],
dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)], dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)],
) )
app.include_router( app.include_router(
api_download_data, api_download_data,
prefix="/api/v1", prefix="/api/v1",
tags=["download-data", "Webserver"],
dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)], dependencies=[Depends(http_basic_or_jwt_token), Depends(is_webserver_mode)],
) )
app.include_router(ws_router, prefix="/api/v1") app.include_router(ws_router, prefix="/api/v1")