2 Commits

Author SHA1 Message Date
025ea868a6 Addedd ensure_ascii=False to exporting Accounst 2022-12-06 14:21:36 +03:00
d82d152fef Added ordering by name for accounts 2022-12-06 14:16:03 +03:00
2 changed files with 13 additions and 5 deletions

View File

@ -23,7 +23,7 @@ class _Accounts(pydantic.BaseModel):
def _accounts_list_to_json(accounts: Iterator[tuple[str, str, str]]) -> str: def _accounts_list_to_json(accounts: Iterator[tuple[str, str, str]]) -> str:
accounts = _Accounts(accounts=[_Account.from_tuple(i) for i in accounts]) accounts = _Accounts(accounts=[_Account.from_tuple(i) for i in accounts])
return accounts.json() return accounts.json(ensure_ascii=False)
def json_to_accounts(json_: str) -> list[tuple[str, str, str]]: def json_to_accounts(json_: str) -> list[tuple[str, str, str]]:

View File

@ -24,8 +24,12 @@ def get_master_pass(
def get_accounts(engine: Engine, user_id: int) -> list[str]: def get_accounts(engine: Engine, user_id: int) -> list[str]:
"""Gets list of account names""" """Gets list of account names"""
statement = sqlmodel.select(models.Account).where( statement = (
models.Account.user_id == user_id, sqlmodel.select(models.Account)
.where(
models.Account.user_id == user_id,
)
.order_by(models.Account.name)
) )
with sqlmodel.Session(engine) as session: with sqlmodel.Session(engine) as session:
result = session.exec(statement) result = session.exec(statement)
@ -37,8 +41,12 @@ def get_all_accounts(
) -> Iterator[tuple[str, bytes, bytes, bytes]]: ) -> Iterator[tuple[str, bytes, bytes, bytes]]:
"""Returns an iterator of tuples, where values represent account's """Returns an iterator of tuples, where values represent account's
name, salt, encrypted login and encrypted password""" name, salt, encrypted login and encrypted password"""
statement = sqlmodel.select(models.Account).where( statement = (
models.Account.user_id == user_id, sqlmodel.select(models.Account)
.where(
models.Account.user_id == user_id,
)
.order_by(models.Account.name)
) )
with sqlmodel.Session(engine) as session: with sqlmodel.Session(engine) as session:
result = session.exec(statement) result = session.exec(statement)