From 8e796c9cfcd65f6225a6ae3ec2a4419f265b0ebc Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 17 Jul 2026 18:16:35 +0200 Subject: inventory-service init --- .../app/api/v1/endpoints/stock_movements.py | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 inventory-service/app/api/v1/endpoints/stock_movements.py (limited to 'inventory-service/app/api/v1/endpoints/stock_movements.py') diff --git a/inventory-service/app/api/v1/endpoints/stock_movements.py b/inventory-service/app/api/v1/endpoints/stock_movements.py new file mode 100644 index 0000000..f70396f --- /dev/null +++ b/inventory-service/app/api/v1/endpoints/stock_movements.py @@ -0,0 +1,47 @@ +from fastapi import APIRouter, Depends, status +from sqlalchemy.orm import Session +from typing import List + +from app.api import deps +from app.schemas.inventory import StockMovementOut + + +router = APIRouter() + + +@router.get("/", response_model=List[StockMovementOut]) +def list_stock_movements( + skip: int = 0, + limit: int = 100, + db: Session = Depends(deps.get_db), +): + """ + Return a paginated list of all stock movements across all products. + Useful for auditing the full history of reservations and releases. + """ + pass # TODO: implement + + +@router.get("/product/{product_id}", response_model=List[StockMovementOut]) +def list_movements_for_product( + product_id: int, + skip: int = 0, + limit: int = 100, + db: Session = Depends(deps.get_db), +): + """ + Return all stock movements for a specific product. + """ + pass # TODO: implement + + +@router.get("/order/{order_id}", response_model=List[StockMovementOut]) +def list_movements_for_order( + order_id: int, + db: Session = Depends(deps.get_db), +): + """ + Return all stock movements associated with a specific order. + Lets you see exactly what was reserved/released for a given order. + """ + pass # TODO: implement -- cgit v1.2.3