Automated Action be0ae5f3b3 Implement small business inventory management system
- Create project structure with FastAPI and SQLAlchemy
- Implement database models for items, categories, suppliers, and stock movements
- Add CRUD operations for all models
- Configure Alembic for database migrations
- Create RESTful API endpoints for inventory management
- Add health endpoint for system monitoring
- Update README with setup and usage instructions

generated with BackendIM... (backend.im)
2025-05-12 16:23:23 +00:00

39 lines
1.6 KiB
Python

from fastapi import APIRouter, Depends, HTTPException, status, Query
from sqlalchemy.orm import Session
from typing import List, Optional
from app.database import get_db
from app.schemas.supplier import SupplierCreate, SupplierUpdate, SupplierResponse
from app.crud import supplier as supplier_crud
router = APIRouter(
prefix="/suppliers",
tags=["Suppliers"]
)
@router.get("/", response_model=List[SupplierResponse])
def get_suppliers(
skip: int = 0,
limit: int = 100,
include_inactive: bool = False,
db: Session = Depends(get_db)
):
return supplier_crud.get_suppliers(db, skip=skip, limit=limit, include_inactive=include_inactive)
@router.get("/{supplier_id}", response_model=SupplierResponse)
def get_supplier(supplier_id: int, db: Session = Depends(get_db)):
db_supplier = supplier_crud.get_supplier(db, supplier_id=supplier_id)
if db_supplier is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Supplier not found")
return db_supplier
@router.post("/", response_model=SupplierResponse, status_code=status.HTTP_201_CREATED)
def create_supplier(supplier: SupplierCreate, db: Session = Depends(get_db)):
return supplier_crud.create_supplier(db=db, supplier=supplier)
@router.put("/{supplier_id}", response_model=SupplierResponse)
def update_supplier(supplier_id: int, supplier: SupplierUpdate, db: Session = Depends(get_db)):
return supplier_crud.update_supplier(db=db, supplier_id=supplier_id, supplier=supplier)
@router.delete("/{supplier_id}")
def delete_supplier(supplier_id: int, db: Session = Depends(get_db)):
return supplier_crud.delete_supplier(db=db, supplier_id=supplier_id)