add user manager
This commit is contained in:
@@ -8,6 +8,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from src.db.database import async_session_maker
|
||||
from src.models import UsersORM, AccessToken
|
||||
from src.utils.user_manager import UserManager
|
||||
|
||||
|
||||
async def get_db() -> AsyncGenerator[AsyncSession, None]:
|
||||
@@ -18,7 +19,7 @@ async def get_db() -> AsyncGenerator[AsyncSession, None]:
|
||||
DBDep = Annotated[AsyncSession, Depends(get_db)]
|
||||
|
||||
|
||||
async def get_user_db(session: DBDep):
|
||||
async def get_users_db(session: DBDep):
|
||||
yield SQLAlchemyUserDatabase(session, UsersORM)
|
||||
|
||||
|
||||
@@ -29,3 +30,7 @@ async def get_access_token_db(
|
||||
|
||||
|
||||
ATDep = Annotated[AccessTokenDatabase[AccessToken], Depends(get_access_token_db)]
|
||||
|
||||
|
||||
async def get_user_manager(users_db: Annotated[SQLAlchemyUserDatabase, Depends(get_users_db)]):
|
||||
yield UserManager(users_db)
|
||||
|
||||
@@ -1 +1,34 @@
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from fastapi import Request
|
||||
from fastapi_users import BaseUserManager, IntegerIDMixin
|
||||
|
||||
from src.models import UsersORM
|
||||
from src.settings import settings
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
|
||||
class UserManager(IntegerIDMixin, BaseUserManager[UsersORM, int]):
|
||||
reset_password_token_secret = settings.SECRET
|
||||
verification_token_secret = settings.SECRET
|
||||
|
||||
async def on_after_register(
|
||||
self, user: UsersORM, request: Optional[Request] = None
|
||||
):
|
||||
logger.warning("User %r has registered.", user.id)
|
||||
|
||||
async def on_after_forgot_password(
|
||||
self, user: UsersORM, token: str, request: Optional[Request] = None
|
||||
):
|
||||
logger.warning(
|
||||
"User %r has forgot their password. Reset token: %r", user.id, token
|
||||
)
|
||||
|
||||
async def on_after_request_verify(
|
||||
self, user: UsersORM, token: str, request: Optional[Request] = None
|
||||
):
|
||||
logger.warning(
|
||||
"Verification requested for user %r. Verification token: %r", user.id, token
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user