From 70dd820e8822808ef8816ce2f457656fe58ce264 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 6 Aug 2026 16:02:18 +0000 Subject: [PATCH] feat(db): wire objects router to SQLAlchemy session --- backend/app/routers/objects.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) 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))