import logging from typing import Optional, TYPE_CHECKING from fastapi_users import ( BaseUserManager, IntegerIDMixin, ) from config import settings from models import User if TYPE_CHECKING: from fastapi import Request class UserManager(IntegerIDMixin, BaseUserManager[User, settings.type.UserIdType]): reset_password_token_secret = settings.access_token.reset_password_token_secret verification_token_secret = settings.access_token.verification_token_secret async def on_after_register( self, user: User, request: Optional["Request"] = None, ): logging.warning( "User %r has registered.", user.id, ) async def on_after_request_verify( self, user: User, token: str, request: Optional["Request"] = None, ): logging.warning( "Verification requested for user %r. Verification token: %r", user.id, token, ) async def on_after_forgot_password( self, user: User, token: str, request: Optional["Request"] = None, ): logging.warning( "User %r has forgot their password. Reset token: %r", user.id, token, )