from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from app.database import get_db from app.models import NetObjectModel from app.schemas import EntityResponse, ListResponse, NetObject from app.services.inventory import _to_net_object router = APIRouter(prefix='/objects', tags=['objects']) @router.get('', response_model=ListResponse[NetObject]) def list_objects(db: Session = Depends(get_db)): rows = db.query(NetObjectModel).all() return ListResponse(count=len(rows), items=[_to_net_object(r) for r in rows]) @router.get('/{object_id}', response_model=EntityResponse[NetObject]) def get_object(object_id: str, db: Session = Depends(get_db)): row = db.query(NetObjectModel).filter(NetObjectModel.id == object_id).first() if not row: raise HTTPException(status_code=404, detail='Object not found') return EntityResponse(item=_to_net_object(row))