import sqlmodel class MasterPass(sqlmodel.SQLModel, table=True): __tablename__ = "master_passwords" user_id: int = sqlmodel.Field( sa_column=sqlmodel.Column( sqlmodel.INT(), primary_key=True, autoincrement=False, ) ) salt: bytes = sqlmodel.Field( sa_column=sqlmodel.Column(sqlmodel.BINARY(64), nullable=False) ) password_hash: bytes = sqlmodel.Field( sa_column=sqlmodel.Column(sqlmodel.BINARY(128), nullable=False) ) class Account(sqlmodel.SQLModel, table=True): __tablename__ = "accounts" __table_args__ = (sqlmodel.PrimaryKeyConstraint("user_id", "name"),) user_id: int = sqlmodel.Field() name: str = sqlmodel.Field(max_length=255) salt: bytes = sqlmodel.Field( sa_column=sqlmodel.Column(sqlmodel.BINARY(64), nullable=False) ) enc_login: bytes = sqlmodel.Field( sa_column=sqlmodel.Column(sqlmodel.VARBINARY(256), nullable=False) ) enc_password: bytes = sqlmodel.Field( sa_column=sqlmodel.Column(sqlmodel.VARBINARY(256), nullable=False) )