diff --git a/backend/utils.py b/backend/utils.py index 0a2c86b8fea93e97cf8d1a82e4584d82f10a2998..90bbd9a6669b38b96ae357642ee05c798e69cdc1 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(