36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
import sqlmodel
|
|
from sqlalchemy.future import Engine
|
|
|
|
from . import models
|
|
|
|
|
|
def purge_accounts(engine: Engine, user_id: int) -> None:
|
|
"""Deletes all user's accounts"""
|
|
statement = sqlmodel.delete(models.Account).where(
|
|
models.Account.user_id == user_id,
|
|
)
|
|
with sqlmodel.Session(engine) as session:
|
|
session.exec(statement)
|
|
session.commit()
|
|
|
|
|
|
def delete_master_pass(engine: Engine, user_id: int) -> None:
|
|
"""Delets master password of the user"""
|
|
statement = sqlmodel.delete(models.MasterPass).where(
|
|
models.MasterPass.user_id == user_id
|
|
)
|
|
with sqlmodel.Session(engine) as session:
|
|
session.exec(statement)
|
|
session.commit()
|
|
|
|
|
|
def delete_account(engine: Engine, user_id: int, name: str) -> None:
|
|
"""Deletes specific user account"""
|
|
statement = sqlmodel.delete(models.Account).where(
|
|
models.Account.user_id == user_id,
|
|
models.Account.name == name,
|
|
)
|
|
with sqlmodel.Session(engine) as session:
|
|
session.exec(statement)
|
|
session.commit()
|