first commit
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
"""API 路由:策略"""
|
||||
|
||||
from typing import List
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.database import get_db
|
||||
from app import crud, schemas
|
||||
|
||||
router = APIRouter(prefix="/api/strategies", tags=["策略"])
|
||||
|
||||
|
||||
@router.get("", response_model=List[schemas.StrategyOut])
|
||||
def list_strategies(db: Session = Depends(get_db)):
|
||||
return crud.get_strategies(db)
|
||||
|
||||
|
||||
@router.post("", response_model=schemas.StrategyOut, status_code=201)
|
||||
def create_strategy(data: schemas.StrategyCreate, db: Session = Depends(get_db)):
|
||||
return crud.create_strategy(db, data)
|
||||
|
||||
|
||||
@router.put("/{strategy_id}", response_model=schemas.StrategyOut)
|
||||
def update_strategy(strategy_id: int, data: schemas.StrategyUpdate, db: Session = Depends(get_db)):
|
||||
obj = crud.update_strategy(db, strategy_id, data)
|
||||
if not obj:
|
||||
raise HTTPException(404, "策略不存在")
|
||||
return obj
|
||||
|
||||
|
||||
@router.delete("/{strategy_id}")
|
||||
def delete_strategy(strategy_id: int, db: Session = Depends(get_db)):
|
||||
if not crud.delete_strategy(db, strategy_id):
|
||||
raise HTTPException(404, "策略不存在")
|
||||
return {"ok": True}
|
||||
Reference in New Issue
Block a user