X-Git-Url: https://apps.delaporte.us/gitweb/matrix-shop-bot.git/blobdiff_plain/e1202c785e427e7a9a45249ef1f81afe9760ed1d..8131771c2637405493978a03e3a9acddd516e3dd:/matrix_shop_bot/db.py diff --git a/matrix_shop_bot/db.py b/matrix_shop_bot/db.py index cd8d494..cf75f84 100644 --- a/matrix_shop_bot/db.py +++ b/matrix_shop_bot/db.py @@ -105,6 +105,12 @@ def _get_with_id(cls, item_id): def _get_with_name(cls, name): return select(cls).where(func.lower(cls.name) == func.lower(name)) +def _rename(cls, session, old, new) -> bool: + with session: + record = session.exec(_get_with_name(cls, old)).first() + record.name = new + session.commit() + return True class Data(): def __init__(self, db_file=None): @@ -116,6 +122,14 @@ class Data(): self.engine = self.get_engine() self.last_store_id = None + def rename_store(self, old, new): + with Session(self.engine) as session: + return _rename(Store, session, old, new) + + def rename_item(self, old, new): + with Session(self.engine) as session: + return _rename(Item, session, old, new) + def _set_pref_store_id(self, store_id): with Session(self.engine) as session: prefs = session.exec(select(PreferStore)).all()