diff --git a/backend/app/routers/objects.py b/backend/app/routers/objects.py index 271da9d..1af0d84 100644 --- a/backend/app/routers/objects.py +++ b/backend/app/routers/objects.py @@ -1,19 +1,23 @@ -from fastapi import APIRouter, HTTPException +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.store import OBJECTS +from app.services.inventory import _to_net_object router = APIRouter(prefix='/objects', tags=['objects']) @router.get('', response_model=ListResponse[NetObject]) -def list_objects() -> ListResponse[NetObject]: - return ListResponse(count=len(OBJECTS), items=OBJECTS) +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) -> EntityResponse[NetObject]: - for item in OBJECTS: - if item.id == object_id: - return EntityResponse(item=item) - raise HTTPException(status_code=404, detail='Object not found') +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))