Compare commits

...

3 Commits

3 changed files with 15 additions and 6 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

@ -49,7 +49,8 @@ def get_accounts(bot: telebot.TeleBot, engine: Engine, mes: Message) -> None:
mes.chat.id, mes.chat.id,
"Ваши аккаунты:\n" "Ваши аккаунты:\n"
+ "\n".join(accounts) + "\n".join(accounts)
+ "\nНажмите на название, чтобы скопировать", + "\nНажмите на название, чтобы скопировать\n"
f"Всего {len(accounts)}",
30, 30,
) )

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)