From 7fe7b23a633e62e381fbf332d5041ea83045bd1d Mon Sep 17 00:00:00 2001 From: StNicolay <103897650+StNicolay@users.noreply.github.com> Date: Fri, 14 Oct 2022 17:48:32 +0300 Subject: [PATCH] Filled delete.py and created change.py --- src/database/__init__.py | 4 ++-- src/database/change.py | 16 ++++++++++++++++ src/database/delete.py | 18 ++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/database/change.py diff --git a/src/database/__init__.py b/src/database/__init__.py index 2b16a00..e4acac3 100644 --- a/src/database/__init__.py +++ b/src/database/__init__.py @@ -1,3 +1,3 @@ -from . import add, delete, get, models, prepare +from . import add, delete, get, models, prepare, change -__all__ = ["add", "delete", "get", "models", "prepare"] +__all__ = ["add", "delete", "get", "models", "prepare", "change"] diff --git a/src/database/change.py b/src/database/change.py new file mode 100644 index 0000000..0941c9a --- /dev/null +++ b/src/database/change.py @@ -0,0 +1,16 @@ +import sqlmodel +from sqlalchemy.future import Engine + +from . import models + + +def change_master_pass( + engine: Engine, user_id: int, salt: bytes, passwd: bytes +) -> None: + statement = sqlmodel.update( + models.MasterPass, + models.MasterPass.user_id == user_id, + sqlmodel.values(salt=salt, passwd=passwd), + ) + with sqlmodel.Session(engine) as session: + session.exec(statement) diff --git a/src/database/delete.py b/src/database/delete.py index e69de29..87a087e 100644 --- a/src/database/delete.py +++ b/src/database/delete.py @@ -0,0 +1,18 @@ +import sqlmodel +from sqlalchemy.future import Engine + +from . import models + + +def purge_accounts(engine: Engine, user_id: int) -> None: + statement = sqlmodel.delete(models.Account).where(models.Account.user_id == user_id) + with sqlmodel.Session(engine) as session: + session.exec(statement) + + +def delete_master_pass(engine: Engine, user_id: int) -> None: + statement = sqlmodel.delete(models.MasterPass).where( + models.MasterPass.user_id == user_id + ) + with sqlmodel.Session(engine) as session: + session.exec(statement)