from fastapi import APIRouter, Query, Request from app.models import StrategyStartRequest from app.services.strategy_service import ( start_strategy, stop_strategy, get_strategy_status, get_strategy_summary, get_engine_status, get_market_status, get_strategy_logs as fetch_strategy_logs, ) from app.services.tenant import get_request_user_id router = APIRouter(prefix="/api") @router.post("/strategy/start") def start(req: StrategyStartRequest, request: Request): user_id = get_request_user_id(request) return start_strategy(req, user_id) @router.post("/strategy/stop") def stop(request: Request): user_id = get_request_user_id(request) return stop_strategy(user_id) @router.get("/strategy/status") def status(request: Request): user_id = get_request_user_id(request) return get_strategy_status(user_id) @router.get("/strategy/summary") def summary(request: Request): user_id = get_request_user_id(request) return get_strategy_summary(user_id) @router.get("/engine/status") def engine_status(request: Request): user_id = get_request_user_id(request) return get_engine_status(user_id) @router.get("/market/status") def market_status(): return get_market_status() @router.get("/logs") def get_logs(request: Request, since_seq: int = Query(0)): user_id = get_request_user_id(request) return fetch_strategy_logs(user_id, since_seq) @router.get("/strategy/logs") def get_strategy_logs_endpoint(request: Request, since_seq: int = Query(0)): user_id = get_request_user_id(request) return fetch_strategy_logs(user_id, since_seq)