from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.db import get_db from app.models.filament import Filament router = APIRouter(prefix="/filaments", tags=["filaments"]) @router.get("/") def list_filaments(db: Session = Depends(get_db)): return [f.to_dict() for f in db.query(Filament).all()] @router.get("/{filament_id}") def get_filament(filament_id: int, db: Session = Depends(get_db)): filament = db.query(Filament).filter(Filament.id == filament_id).first() if not filament: from fastapi import HTTPException raise HTTPException(status_code=404, detail="Filament not found") return filament.to_dict()