diff --git a/app/web/routes_pages.py b/app/web/routes_pages.py index 3b9b89a..d7430dc 100644 --- a/app/web/routes_pages.py +++ b/app/web/routes_pages.py @@ -94,6 +94,10 @@ def build_router(templates, repo_root: Path, stock_report_template: str): user, redirect = require_page_user(request) if redirect: return redirect + try: + require_admin(request.cookies.get("altcoin_session", "")) + except HTTPException as exc: + return HTMLResponse(content=f"
{exc.detail}
返回看板", status_code=exc.status_code) return render_page("paper_trading.html", request, active_nav="paper_trading") @router.get("/strategy", response_class=HTMLResponse) diff --git a/app/web/routes_paper_trading.py b/app/web/routes_paper_trading.py index 2203ff7..a5b2657 100644 --- a/app/web/routes_paper_trading.py +++ b/app/web/routes_paper_trading.py @@ -1,7 +1,7 @@ from fastapi import APIRouter, Cookie from app.db.paper_trading import get_paper_trading_summary, list_paper_trades -from app.web.shared import require_api_user_with_subscription +from app.web.shared import require_admin router = APIRouter() @@ -9,7 +9,7 @@ router = APIRouter() @router.get("/api/paper-trading/summary") async def api_paper_trading_summary(days: int = 30, altcoin_session: str = Cookie(default="")): - require_api_user_with_subscription(altcoin_session) + require_admin(altcoin_session) return get_paper_trading_summary(days=days) @@ -20,5 +20,5 @@ async def api_paper_trading_trades( status: str = "", altcoin_session: str = Cookie(default=""), ): - require_api_user_with_subscription(altcoin_session) + require_admin(altcoin_session) return list_paper_trades(limit=limit, offset=offset, status=status) diff --git a/static/base.html b/static/base.html index 2bf00ad..4c37328 100644 --- a/static/base.html +++ b/static/base.html @@ -175,7 +175,7 @@ a { color: inherit; text-decoration: none; }