feat(db): wire objects router to SQLAlchemy session
CI / basic-check (push) Has been cancelled

This commit is contained in:
2026-08-06 16:02:18 +00:00
parent 5c09359ee8
commit 70dd820e88
+12 -8
View File
@@ -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.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 = APIRouter(prefix='/objects', tags=['objects'])
@router.get('', response_model=ListResponse[NetObject]) @router.get('', response_model=ListResponse[NetObject])
def list_objects() -> ListResponse[NetObject]: def list_objects(db: Session = Depends(get_db)):
return ListResponse(count=len(OBJECTS), items=OBJECTS) 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]) @router.get('/{object_id}', response_model=EntityResponse[NetObject])
def get_object(object_id: str) -> EntityResponse[NetObject]: def get_object(object_id: str, db: Session = Depends(get_db)):
for item in OBJECTS: row = db.query(NetObjectModel).filter(NetObjectModel.id == object_id).first()
if item.id == object_id: if not row:
return EntityResponse(item=item)
raise HTTPException(status_code=404, detail='Object not found') raise HTTPException(status_code=404, detail='Object not found')
return EntityResponse(item=_to_net_object(row))