Add app/routers/stock.py
This commit is contained in:
25
app/routers/stock.py
Normal file
25
app/routers/stock.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
from fastapi import APIRouter, Depends, HTTPException
|
||||||
|
from sqlalchemy.orm import Session
|
||||||
|
from app.database import get_db
|
||||||
|
from app.schemas.stock_movement import StockMoveRequest, StockMovementResponse, StockSummary
|
||||||
|
from app.services import stock_service
|
||||||
|
|
||||||
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/move", response_model=StockMovementResponse, status_code=201)
|
||||||
|
def move(data: StockMoveRequest, db: Session = Depends(get_db)):
|
||||||
|
movement, error = stock_service.register_movement(db, data)
|
||||||
|
if error:
|
||||||
|
raise HTTPException(status_code=400, detail=error)
|
||||||
|
return movement
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/history/{product_id}", response_model=list[StockMovementResponse])
|
||||||
|
def history(product_id: str, db: Session = Depends(get_db)):
|
||||||
|
return stock_service.get_product_history(db, product_id)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/summary", response_model=list[StockSummary])
|
||||||
|
def summary(db: Session = Depends(get_db)):
|
||||||
|
return stock_service.get_stock_summary(db)
|
||||||
Reference in New Issue
Block a user