from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.db import get_db from app.models.printer import Printer router = APIRouter(prefix="/printers", tags=["printers"]) @router.get("/") def list_printers(db: Session = Depends(get_db)): return [p.to_dict() for p in db.query(Printer).all()] @router.get("/{printer_id}") def get_printer(printer_id: int, db: Session = Depends(get_db)): printer = db.query(Printer).filter(Printer.id == printer_id).first() if not printer: from fastapi import HTTPException raise HTTPException(status_code=404, detail="Printer not found") return printer.to_dict()