From 12f492ab740c980bfcc62547958ce2439e08d713 Mon Sep 17 00:00:00 2001 From: hanfi <ccc@spahan.ch> Date: Fri, 16 Jun 2023 08:23:18 +0200 Subject: [PATCH] get undelivered items list --- backend/main.py | 5 +++++ backend/models.py | 1 + backend/utils.py | 10 ++++++++++ 3 files changed, 16 insertions(+) diff --git a/backend/main.py b/backend/main.py index af974d8..e08af74 100644 --- a/backend/main.py +++ b/backend/main.py @@ -56,6 +56,11 @@ def get_item(item_uuid: str, db: Session = Depends(get_db)): return item +@app.get("/items", response_model=list[schemas.Item]) +def get_items(db: Session = Depends(get_db)): + return utils.get_stored_items(db) + + @app.get("/tag/{tag}", response_model=schemas.Item) def get_item_by_tag(tag: str, db: Session = Depends(get_db)): item = utils.get_item_by_tag(db, tag) diff --git a/backend/models.py b/backend/models.py index 84c1cdb..5a1d023 100644 --- a/backend/models.py +++ b/backend/models.py @@ -17,6 +17,7 @@ class Item(db_Base): uuid = sql_Column(sql_Uuid, primary_key=True, default=uuid4) amount = sql_Column(sql_Integer, default=1) + received_amount = sql_Column(sql_Integer, nullable=True, default=None) created_at = sql_Column(sql_DateTime(timezone=True), server_default=sql_now()) received_at = sql_Column(sql_DateTime(timezone=True), nullable=True, default=None) diff --git a/backend/utils.py b/backend/utils.py index 26068dd..58d0ebf 100644 --- a/backend/utils.py +++ b/backend/utils.py @@ -25,6 +25,16 @@ def get_storage(db: Session, storage_name: str): return db.get(models.Storage, storage_name) +def get_stored_items(db: Session): + return ( + db.query(models.Item) + .filter(models.Item.received_at != None) # noqa: E711 + .filter(models.Item.deployed_at == None) # noqa: E711 + .order_by(models.Item.storage, models.Item.addressee) + .all() + ) + + def get_storages(db: Session): return db.query(models.Storage).all() -- GitLab