]> us-delaporte.pagekite.me Git - matrix-shop-bot.git/commitdiff
Fixes for re-use preferred store
authorEdward Delaporte <edward@delaporte.us>
Sun, 29 Mar 2026 17:32:10 +0000 (12:32 -0500)
committerEdward Delaporte <edward@delaporte.us>
Sun, 29 Mar 2026 17:32:10 +0000 (12:32 -0500)
matrix_shop_bot/db.py

index 31daf99cfc8803cbf0b4e364a9bfe9f0671ac096..ea8a3a778c0eac17bbb699613af0223a5065f6dd 100644 (file)
@@ -93,37 +93,35 @@ class Data():
 
     def add_store(self, name):
         store_id = self._add_with_name(Store, name)
 
     def add_store(self, name):
         store_id = self._add_with_name(Store, name)
-        self.last_store_id = store_id
+        self._set_pref_store_id(store_id)
         return store_id
             
     def add_item(self, name):
         item_id = self._add_with_name(Item, name)
         return store_id
             
     def add_item(self, name):
         item_id = self._add_with_name(Item, name)
-        if isinstance(self.last_store_id, int):
-            with Session(self.engine) as session:
-                store_id = self.last_store_id
-                store = session.exec(_get_with_id(Store, store_id)).first()
-                item = session.exec(_get_with_id(Item, item_id)).first()
-                item.stores.append(store)
-                session.commit()
+        store_id = self._get_pref_store_id()
+        self.assign_store(item_id, store_id)
         return item_id
 
         return item_id
 
-    def assign_store(self, item_id, store_id=None):
-        if store_id:
-            self.last_store_id = store_id
-        else:
-            store_id = self.last_store_id
+    def assign_last_store(self, item_id):
+        store_id = self._get_pref_store_id(store_id)
+        return self.assign_store(item_id, store_id)
+
+    def assign_store(self, item_id, store_id):
+        self._set_pref_store_id(store_id)
 
         with Session(self.engine) as session:
             store = session.exec(_get_with_id(Store, store_id)).first()
             item = session.exec(_get_with_id(Item, item_id)).first()
             item.stores.append(store)
             session.commit()
 
         with Session(self.engine) as session:
             store = session.exec(_get_with_id(Store, store_id)).first()
             item = session.exec(_get_with_id(Item, item_id)).first()
             item.stores.append(store)
             session.commit()
+        return ['Success']
 
     def purchase_item(self, item_id):
         with Session(self.engine) as session:
             item = session.exec(_get_with_id(Item, item_id)).first()
             item.purchase_date = dt.today()
             session.commit()
 
     def purchase_item(self, item_id):
         with Session(self.engine) as session:
             item = session.exec(_get_with_id(Item, item_id)).first()
             item.purchase_date = dt.today()
             session.commit()
+        return ['Success']
 
     def clear_list(self, store_id, clear_all=False):
         with Session(self.engine) as session:
 
     def clear_list(self, store_id, clear_all=False):
         with Session(self.engine) as session: