36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
"""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/regimes", tags=["大盘阶段"])
|
|
|
|
|
|
@router.get("", response_model=List[schemas.MarketRegimeOut])
|
|
def list_regimes(db: Session = Depends(get_db)):
|
|
return crud.get_regimes(db)
|
|
|
|
|
|
@router.post("", response_model=schemas.MarketRegimeOut, status_code=201)
|
|
def create_regime(data: schemas.MarketRegimeCreate, db: Session = Depends(get_db)):
|
|
return crud.create_regime(db, data)
|
|
|
|
|
|
@router.put("/{regime_id}", response_model=schemas.MarketRegimeOut)
|
|
def update_regime(regime_id: int, data: schemas.MarketRegimeUpdate, db: Session = Depends(get_db)):
|
|
obj = crud.update_regime(db, regime_id, data)
|
|
if not obj:
|
|
raise HTTPException(404, "大盘阶段不存在")
|
|
return obj
|
|
|
|
|
|
@router.delete("/{regime_id}")
|
|
def delete_regime(regime_id: int, db: Session = Depends(get_db)):
|
|
if not crud.delete_regime(db, regime_id):
|
|
raise HTTPException(404, "大盘阶段不存在")
|
|
return {"ok": True}
|