mirror of
https://github.com/fastapi-users/fastapi-users.git
synced 2025-08-16 11:53:40 +08:00
Harmonize schema variable naming to avoid confusions
This commit is contained in:
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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),
|
||||||
|
@ -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: {
|
||||||
|
@ -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]):
|
||||||
|
Reference in New Issue
Block a user