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)