/
killogram
/
E-Analyzer
Обзор
Документация
Войти
/
killogram
/
E-Analyzer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
api/tracked.py
25 строк
1 KB
Korabliov Kirill
Added the ability to track purchases and vary by status, improved interface
29 май 2025, 21:10
29 май 2025, 21:10
c3db5df
Код
Авторство
О чём код?
# api/tracked.py from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from api.database import get_db from api.crud import track_purchase, get_tracked_purchases, update_tracked_purchase_status from api.schemas import TrackPurchaseRequest router = APIRouter() @router.post("/track_purchase/") async def track_purchase_endpoint(request: TrackPurchaseRequest, db: Session = Depends(get_db)): result = track_purchase(db, request.purchase_id, request.status) if result: return {"id": result, "message": "Purchase tracked successfully"} raise HTTPException(status_code=400, detail="Failed to track purchase") @router.get("/tracked_purchases/") async def get_tracked_purchases_endpoint(db: Session = Depends(get_db)): return get_tracked_purchases(db) @router.put("/tracked_purchase/{purchase_id}") async def update_tracked_purchase_status_endpoint(purchase_id: int, status: str, db: Session = Depends(get_db)): if update_tracked_purchase_status(db, purchase_id, status): return {"message": "Purchase status updated"} raise HTTPException(status_code=404, detail="Purchase not found in tracking")