def list_purchases(self, store_name):
with Session(self.engine) as session:
- cmd = select(PurchaseRecord).where(PurchaseRecord.store == store_name)
+ cmd = select(PurchaseRecord).where(func.lower(PurchaseRecord.store) == func.lower(store_name))
records = session.exec(cmd).all()
return records
return results
- def clear_list(self, store_id, clear_all=False):
+ def clear_list(self, store_name, clear_all=False):
+ results = []
with Session(self.engine) as session:
- store = session.exec(_get_with_id(Store, store_id)).first()
+ store = session.exec(_get_with_name(Store, store_name)).first()
+ if not store:
+ return [f'Store {store_name} not found.']
+
for item in store.shopping_list:
if clear_all or item.purchase_date:
session.delete(item)
+
session.commit()
+ results = store.get_pretty_shopping_list()
+ return results
def get_stores(self):
with Session(self.engine) as session: