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 )