from fastapi import APIRouter, Depends, HTTPException from pydantic import BaseModel from typing import List from ..services.admin_strategy_service import ( get_table_strategy_list, create_table_strategy, delete_table_strategy, bind_table_to_strategy ) router = APIRouter() class get_list(BaseModel): token: str class StrategyData(BaseModel): strategy_name: str segment1_threshold: int segment1_price: float segment2_threshold: int segment2_price: float segment3_price: float description: str | None = None segment3_threshold: int | None = None class create_strategy(BaseModel): token: str strategy_data: StrategyData class delete_strategy(BaseModel): token: str strategy_id: int class update_strategy(BaseModel): token: str table_ids: List[int] strategy_id: int @router.post("/table-strategies/list") def api_get_table_strategy_list(request: get_list): return get_table_strategy_list(request.token) @router.post("/table-strategies/create") def api_create_table_strategy(request: create_strategy): return create_table_strategy(request.token, request.strategy_data.model_dump()) @router.post("/table-strategies/delete") def api_delete_table_strategy(request: delete_strategy): return delete_table_strategy(request.token, request.strategy_id) @router.post("/table-strategies/bind") def api_bind_table_to_strategy(request: update_strategy): return bind_table_to_strategy(request.token, request.strategy_id, request.table_ids)