Implement more endpoints

This commit is contained in:
Matthias 2020-12-26 15:54:22 +01:00
parent 5e4c4cae06
commit 4b86700a0f
3 changed files with 32 additions and 5 deletions

View File

@ -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

View File

@ -39,3 +39,9 @@ class Balances(BaseModel):
value: float
stake: str
note: str
class Count(BaseModel):
current: int
max: int
total_stake: float

View File

@ -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()