Mercurial > libervia-backend
diff sat/memory/sqla.py @ 3596:2d97c695af05
core (memory/sqla): generic methods to add and delete ORM objects directly
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Jul 2021 22:51:01 +0200 |
parents | 7510648e8e3a |
children | 9e1a993ad1bf |
line wrap: on
line diff
--- a/sat/memory/sqla.py Thu Jul 29 22:51:01 2021 +0200 +++ b/sat/memory/sqla.py Thu Jul 29 22:51:01 2021 +0200 @@ -186,6 +186,23 @@ self.initialized.callback(None) + ## Generic + + @aio + async def add(self, db_obj: DeclarativeMeta) -> None: + """Add an object to database""" + async with self.session() as session: + async with session.begin(): + session.add(db_obj) + + @aio + async def delete(self, db_obj: DeclarativeMeta) -> None: + """Delete an object from database""" + async with self.session() as session: + async with session.begin(): + await session.delete(db_obj) + await session.commit() + ## Profiles def getProfilesList(self) -> List[str]: