This commit is contained in:
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user