48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from fastapi import APIRouter, Cookie
|
|
|
|
from app.db.paper_trading import get_paper_trading_summary, list_paper_orders, list_paper_trade_events, list_paper_trades
|
|
from app.web.shared import require_admin
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/api/paper-trading/summary")
|
|
async def api_paper_trading_summary(days: int = 30, altcoin_session: str = Cookie(default="")):
|
|
require_admin(altcoin_session)
|
|
return get_paper_trading_summary(days=days)
|
|
|
|
|
|
@router.get("/api/paper-trading/trades")
|
|
async def api_paper_trading_trades(
|
|
limit: int = 50,
|
|
offset: int = 0,
|
|
status: str = "",
|
|
altcoin_session: str = Cookie(default=""),
|
|
):
|
|
require_admin(altcoin_session)
|
|
return list_paper_trades(limit=limit, offset=offset, status=status)
|
|
|
|
|
|
@router.get("/api/paper-trading/orders")
|
|
async def api_paper_trading_orders(
|
|
limit: int = 50,
|
|
offset: int = 0,
|
|
status: str = "",
|
|
altcoin_session: str = Cookie(default=""),
|
|
):
|
|
require_admin(altcoin_session)
|
|
return list_paper_orders(limit=limit, offset=offset, status=status)
|
|
|
|
|
|
@router.get("/api/paper-trading/events")
|
|
async def api_paper_trading_events(
|
|
limit: int = 80,
|
|
offset: int = 0,
|
|
symbol: str = "",
|
|
event_type: str = "",
|
|
altcoin_session: str = Cookie(default=""),
|
|
):
|
|
require_admin(altcoin_session)
|
|
return list_paper_trade_events(limit=limit, offset=offset, symbol=symbol, event_type=event_type)
|