add scheduler middleware

This commit is contained in:
Jakub Miazek
2024-10-10 17:08:07 +02:00
parent db3f7285b7
commit 171a8019f7
7 changed files with 345 additions and 203 deletions

View File

@@ -17,7 +17,9 @@ def compile_sql_or_scalar(func):
async def wrapper(cls, db_session, name, compile_sql=False, *args, **kwargs):
stmt = await func(cls, db_session, name, *args, **kwargs)
if compile_sql:
return stmt.compile(dialect=postgresql.dialect(), compile_kwargs={"literal_binds": True})
return stmt.compile(
dialect=postgresql.dialect(), compile_kwargs={"literal_binds": True}
)
result = await db_session.execute(stmt)
return result.scalars().first()

View File

@@ -27,12 +27,12 @@ class User(Base):
@password.setter
def password(self, password: SecretStr):
_password_string = password.get_secret_value().encode("utf-8")
self._password = bcrypt.hashpw(
_password_string, bcrypt.gensalt()
)
self._password = bcrypt.hashpw(_password_string, bcrypt.gensalt())
def check_password(self, password: SecretStr):
return bcrypt.checkpw(password.get_secret_value().encode("utf-8"), self._password)
return bcrypt.checkpw(
password.get_secret_value().encode("utf-8"), self._password
)
@classmethod
async def find(cls, database_session: AsyncSession, where_conditions: list[Any]):