Changes to db: fixed error in __init__, looking for more precise errors
This commit is contained in:
parent
b60579ecd6
commit
85129d8b7a
@ -1,5 +1,5 @@
|
||||
import sqlmodel
|
||||
import mariadb
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.future import Engine
|
||||
|
||||
from . import models
|
||||
@ -21,7 +21,7 @@ def add_account(
|
||||
with sqlmodel.Session(engine) as session:
|
||||
session.add(account)
|
||||
session.commit()
|
||||
except Exception:
|
||||
except IntegrityError:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
@ -34,7 +34,7 @@ def add_master_pass(engine: Engine, user_id: int, salt: bytes, passwd: bytes) ->
|
||||
with sqlmodel.Session(engine) as session:
|
||||
session.add(master_pass)
|
||||
session.commit()
|
||||
except Exception:
|
||||
except IntegrityError:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
@ -22,7 +22,7 @@ def get_accounts(engine: Engine, user_id: int) -> list[str]:
|
||||
statement = sqlmodel.select(models.Account).where(models.Account.user_id == user_id)
|
||||
with sqlmodel.Session(engine) as session:
|
||||
result = session.exec(statement)
|
||||
return [account.name for account in result]
|
||||
return [account.name for account in result]
|
||||
|
||||
|
||||
def get_account_info(
|
||||
@ -34,6 +34,6 @@ def get_account_info(
|
||||
)
|
||||
with sqlmodel.Session(engine) as session:
|
||||
result = session.exec(statement).first()
|
||||
if result is None:
|
||||
return
|
||||
return (result.salt, result.enc_login, result.enc_pass)
|
||||
if result is None:
|
||||
return
|
||||
return (result.salt, result.enc_login, result.enc_pass)
|
||||
|
@ -13,4 +13,7 @@ def get_engine(host: str, user: str, passwd: str, db: str) -> Engine:
|
||||
|
||||
|
||||
def prepare(engine: Engine) -> None:
|
||||
sqlmodel.SQLModel.metadata.create_all(engine, [models.Account, models.MasterPass])
|
||||
sqlmodel.SQLModel.metadata.create_all(
|
||||
engine,
|
||||
# [models.Account, models.MasterPass]
|
||||
)
|
||||
|
Reference in New Issue
Block a user