Harmonize schema variable naming to avoid confusions

This commit is contained in:
François Voron
2022-04-29 14:02:44 +02:00
parent 056b0453a2
commit 83ca318ceb
6 changed files with 22 additions and 22 deletions

View File

@ -48,13 +48,13 @@ class FastAPIUsers(Generic[models.UP, schemas.U, schemas.UC, schemas.UU]):
auth_backends: Sequence[AuthenticationBackend], auth_backends: Sequence[AuthenticationBackend],
user_schema: Type[schemas.U], user_schema: Type[schemas.U],
user_create_schema: Type[schemas.UC], user_create_schema: Type[schemas.UC],
user_update_model: Type[schemas.UU], user_update_schema: Type[schemas.UU],
): ):
self.authenticator = Authenticator(auth_backends, get_user_manager) self.authenticator = Authenticator(auth_backends, get_user_manager)
self._user_schema = user_schema self._user_schema = user_schema
self._user_create_schema = user_create_schema self._user_create_schema = user_create_schema
self._user_update_schema = user_update_model self._user_update_schema = user_update_schema
self.get_user_manager = get_user_manager self.get_user_manager = get_user_manager
self.current_user = self.authenticator.current_user self.current_user = self.authenticator.current_user

View File

@ -1,4 +1,4 @@
from typing import Any, Dict, Generic, Optional, Type, Union from typing import Any, Dict, Generic, Optional, Union
import jwt import jwt
from fastapi import Request from fastapi import Request
@ -52,7 +52,6 @@ class BaseUserManager(Generic[models.UP]):
""" """
User management logic. User management logic.
:attribute user_model: Model of a user.
:attribute reset_password_token_secret: Secret to encode reset password token. :attribute reset_password_token_secret: Secret to encode reset password token.
:attribute reset_password_token_lifetime_seconds: Lifetime of reset password token. :attribute reset_password_token_lifetime_seconds: Lifetime of reset password token.
:attribute reset_password_token_audience: JWT audience of reset password token. :attribute reset_password_token_audience: JWT audience of reset password token.
@ -63,7 +62,6 @@ class BaseUserManager(Generic[models.UP]):
:param user_db: Database adapter instance. :param user_db: Database adapter instance.
""" """
user_model: Type[models.UP]
reset_password_token_secret: SecretType reset_password_token_secret: SecretType
reset_password_token_lifetime_seconds: int = 3600 reset_password_token_lifetime_seconds: int = 3600
reset_password_token_audience: str = RESET_PASSWORD_TOKEN_AUDIENCE reset_password_token_audience: str = RESET_PASSWORD_TOKEN_AUDIENCE

View File

@ -14,15 +14,15 @@ from fastapi_users.router.common import ErrorCode, ErrorModel
def get_register_router( def get_register_router(
get_user_manager: UserManagerDependency[models.UP], get_user_manager: UserManagerDependency[models.UP],
user_model: Type[schemas.U], user_schema: Type[schemas.U],
user_create_model: Type[schemas.UC], user_create_schema: Type[schemas.UC],
) -> APIRouter: ) -> APIRouter:
"""Generate a router with the register route.""" """Generate a router with the register route."""
router = APIRouter() router = APIRouter()
@router.post( @router.post(
"/register", "/register",
response_model=user_model, response_model=user_schema,
status_code=status.HTTP_201_CREATED, status_code=status.HTTP_201_CREATED,
name="register:register", name="register:register",
responses={ responses={
@ -55,11 +55,13 @@ def get_register_router(
) )
async def register( async def register(
request: Request, request: Request,
user: user_create_model, # type: ignore user_create: user_create_schema, # type: ignore
user_manager: BaseUserManager[models.UP] = Depends(get_user_manager), user_manager: BaseUserManager[models.UP] = Depends(get_user_manager),
): ):
try: try:
created_user = await user_manager.create(user, safe=True, request=request) created_user = await user_manager.create(
user_create, safe=True, request=request
)
except UserAlreadyExists: except UserAlreadyExists:
raise HTTPException( raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST, status_code=status.HTTP_400_BAD_REQUEST,

View File

@ -17,8 +17,8 @@ from fastapi_users.router.common import ErrorCode, ErrorModel
def get_users_router( def get_users_router(
get_user_manager: UserManagerDependency[models.UP], get_user_manager: UserManagerDependency[models.UP],
user_model: Type[schemas.U], user_schema: Type[schemas.U],
user_update_model: Type[schemas.UU], user_update_schema: Type[schemas.UU],
authenticator: Authenticator, authenticator: Authenticator,
requires_verification: bool = False, requires_verification: bool = False,
) -> APIRouter: ) -> APIRouter:
@ -43,7 +43,7 @@ def get_users_router(
@router.get( @router.get(
"/me", "/me",
response_model=user_model, response_model=user_schema,
name="users:current_user", name="users:current_user",
responses={ responses={
status.HTTP_401_UNAUTHORIZED: { status.HTTP_401_UNAUTHORIZED: {
@ -58,7 +58,7 @@ def get_users_router(
@router.patch( @router.patch(
"/me", "/me",
response_model=user_model, response_model=user_schema,
dependencies=[Depends(get_current_active_user)], dependencies=[Depends(get_current_active_user)],
name="users:patch_current_user", name="users:patch_current_user",
responses={ responses={
@ -94,7 +94,7 @@ def get_users_router(
) )
async def update_me( async def update_me(
request: Request, request: Request,
user_update: user_update_model, # type: ignore user_update: user_update_schema, # type: ignore
user: models.UP = Depends(get_current_active_user), user: models.UP = Depends(get_current_active_user),
user_manager: BaseUserManager[models.UP] = Depends(get_user_manager), user_manager: BaseUserManager[models.UP] = Depends(get_user_manager),
): ):
@ -118,7 +118,7 @@ def get_users_router(
@router.get( @router.get(
"/{id:uuid}", "/{id:uuid}",
response_model=user_model, response_model=user_schema,
dependencies=[Depends(get_current_superuser)], dependencies=[Depends(get_current_superuser)],
name="users:user", name="users:user",
responses={ responses={
@ -138,7 +138,7 @@ def get_users_router(
@router.patch( @router.patch(
"/{id:uuid}", "/{id:uuid}",
response_model=user_model, response_model=user_schema,
dependencies=[Depends(get_current_superuser)], dependencies=[Depends(get_current_superuser)],
name="users:patch_user", name="users:patch_user",
responses={ responses={
@ -179,7 +179,7 @@ def get_users_router(
}, },
) )
async def update_user( async def update_user(
user_update: user_update_model, # type: ignore user_update: user_update_schema, # type: ignore
request: Request, request: Request,
user=Depends(get_user_or_404), user=Depends(get_user_or_404),
user_manager: BaseUserManager[models.UP] = Depends(get_user_manager), user_manager: BaseUserManager[models.UP] = Depends(get_user_manager),

View File

@ -17,7 +17,7 @@ from fastapi_users.router.common import ErrorCode, ErrorModel
def get_verify_router( def get_verify_router(
get_user_manager: UserManagerDependency[models.UP], get_user_manager: UserManagerDependency[models.UP],
user_model: Type[schemas.U], user_schema: Type[schemas.U],
): ):
router = APIRouter() router = APIRouter()
@ -41,7 +41,7 @@ def get_verify_router(
@router.post( @router.post(
"/verify", "/verify",
response_model=user_model, response_model=user_schema,
name="verify:verify", name="verify:verify",
responses={ responses={
status.HTTP_400_BAD_REQUEST: { status.HTTP_400_BAD_REQUEST: {

View File

@ -100,11 +100,11 @@ class BaseTestUserManager(Generic[models.UP], BaseUserManager[models.UP]):
class UserManager(BaseTestUserManager[UserModel]): class UserManager(BaseTestUserManager[UserModel]):
user_model = UserModel pass
class UserManagerOAuth(BaseTestUserManager[UserOAuthModel]): class UserManagerOAuth(BaseTestUserManager[UserOAuthModel]):
user_model = UserOAuthModel pass
class UserManagerMock(BaseTestUserManager[models.UP]): class UserManagerMock(BaseTestUserManager[models.UP]):