54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
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,
|
|
)
|