diff --git a/freqtrade/rpc/api_server2/api_auth.py b/freqtrade/rpc/api_server2/api_auth.py index cf0168576..cb19d7637 100644 --- a/freqtrade/rpc/api_server2/api_auth.py +++ b/freqtrade/rpc/api_server2/api_auth.py @@ -1,11 +1,12 @@ -from datetime import datetime, timedelta import secrets +from datetime import datetime, timedelta +import jwt from fastapi import APIRouter, Depends, HTTPException, Request, status +from fastapi.security import OAuth2PasswordBearer from fastapi.security.http import HTTPBasic, HTTPBasicCredentials from pydantic import BaseModel -import jwt -from fastapi.security import OAuth2PasswordBearer + from freqtrade.rpc.api_server2.api_models import AccessAndRefreshToken, AccessToken from .deps import get_config diff --git a/freqtrade/rpc/api_server2/api_models.py b/freqtrade/rpc/api_server2/api_models.py index 0646ce3e6..92e439b21 100644 --- a/freqtrade/rpc/api_server2/api_models.py +++ b/freqtrade/rpc/api_server2/api_models.py @@ -39,3 +39,9 @@ class Balances(BaseModel): value: float stake: str note: str + + +class Count(BaseModel): + current: int + max: int + total_stake: float diff --git a/freqtrade/rpc/api_server2/api_v1.py b/freqtrade/rpc/api_server2/api_v1.py index b3e0a7a4f..e05db3ace 100644 --- a/freqtrade/rpc/api_server2/api_v1.py +++ b/freqtrade/rpc/api_server2/api_v1.py @@ -1,9 +1,9 @@ -from freqtrade.rpc import RPC from fastapi import APIRouter, Depends from freqtrade import __version__ +from freqtrade.rpc import RPC -from .api_models import Balances, Ping, StatusMsg, Version +from .api_models import Balances, Count, Ping, StatusMsg, Version from .deps import get_config, get_rpc @@ -29,6 +29,16 @@ def balance(rpc: RPC = Depends(get_rpc), config=Depends(get_config)): return rpc._rpc_balance(config['stake_currency'], config.get('fiat_display_currency', ''),) +@router.get('/count', response_model=Count, tags=['info']) +def count(rpc: RPC = Depends(get_rpc)): + return rpc._rpc_count() + + +@router.get('/show_config', tags=['info']) +def show_config(rpc: RPC = Depends(get_rpc), config=Depends(get_config)): + return RPC._rpc_show_config(config, rpc._freqtrade.state) + + @router.post('/start', response_model=StatusMsg, tags=['botcontrol']) def start(rpc: RPC = Depends(get_rpc)): return rpc._rpc_start() @@ -37,3 +47,13 @@ def start(rpc: RPC = Depends(get_rpc)): @router.post('/stop', response_model=StatusMsg, tags=['botcontrol']) def stop(rpc: RPC = Depends(get_rpc)): return rpc._rpc_stop() + + +@router.post('/stopbuy', response_model=StatusMsg, tags=['botcontrol']) +def stop_buy(rpc: RPC = Depends(get_rpc)): + return rpc._rpc_stopbuy() + + +@router.post('/reload_config', response_model=StatusMsg, tags=['botcontrol']) +def reload_config(rpc: RPC = Depends(get_rpc)): + return rpc._rpc_reload_config()