From 87b9547964497120fa437151bd939dfa94aba27e Mon Sep 17 00:00:00 2001 From: hanfi <ccc@spahan.ch> Date: Wed, 20 Sep 2023 20:26:14 +0200 Subject: [PATCH] improved error handling --- backend/utils.py | 54 ++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/backend/utils.py b/backend/utils.py index 0a2c86b..90bbd9a 100644 --- a/backend/utils.py +++ b/backend/utils.py @@ -41,10 +41,11 @@ def get_item_by_uuid(db: Session, item_uuid: UUID4): def get_storage_by_name(db: Session, storage_name: str): storage = db.get(models.Storage, storage_name) - storage.items = [ - item for item in storage.items if item.deployed_at == None # noqa: E711 - ] - return db.get(models.Storage, storage_name) + if storage: + storage.items = [ + item for item in storage.items if item.deployed_at == None # noqa: E711 + ] + return storage def get_storages(db: Session): @@ -58,22 +59,24 @@ def get_storages(db: Session): def get_delivery_by_uuid(db: Session, delivery_uuid: UUID4): delivery = db.get(models.Delivery, delivery_uuid) - delivery.amount = len(delivery.items) - delivery.items = [ - item for item in delivery.items if item.deployed_at == None # noqa: E711 - ] - return db.get(models.Delivery, delivery_uuid) + if delivery: + delivery.amount = len(delivery.items) + delivery.items = [ + item for item in delivery.items if item.deployed_at == None # noqa: E711 + ] + return delivery def get_delivery_by_tag(db: Session, delivery_tag: str): delivery = ( db.query(models.Delivery).filter(models.Delivery.tag == delivery_tag).first() ) - delivery.amount = len(delivery.items) - delivery.items = [ - item for item in delivery.items if item.deployed_at == None # noqa: E711 - ] - return db.query(models.Delivery).filter(models.Delivery.tag == delivery_tag).first() + if delivery: + delivery.amount = len(delivery.items) + delivery.items = [ + item for item in delivery.items if item.deployed_at == None # noqa: E711 + ] + return delivery def prepare_delivery(db: Session, verification: str): @@ -91,17 +94,18 @@ def update_delivery_data( db: Session, delivery_uuid: UUID4, update_data: schemas.DeliveryUpdate ): delivery = db.get(models.Delivery, delivery_uuid) - if update_data.addressee: - delivery.addressee = escape(update_data.addressee) - if update_data.team: - delivery.team = escape(update_data.team) - db.commit() - db.refresh(delivery) - delivery.amount = len(delivery.items) - delivery.items = [ - item for item in delivery.items if item.deployed_at == None # noqa: E711 - ] - return delivery + if delivery: + if update_data.addressee: + delivery.addressee = escape(update_data.addressee) + if update_data.team: + delivery.team = escape(update_data.team) + db.commit() + db.refresh(delivery) + delivery.amount = len(delivery.items) + delivery.items = [ + item for item in delivery.items if item.deployed_at == None # noqa: E711 + ] + return delivery def add_item_for_delivery_at_storage( -- GitLab