mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 21:15:13 +00:00
Uniform schema class naming convention style. (#98)
This commit is contained in:
@@ -9,7 +9,7 @@ from starlette.background import BackgroundTasks
|
||||
|
||||
from backend.app.common.jwt import DependsJwtAuth
|
||||
from backend.app.common.response.response_schema import response_base
|
||||
from backend.app.schemas.token import LoginToken, SwaggerToken, NewToken
|
||||
from backend.app.schemas.token import GetLoginToken, GetSwaggerToken, GetNewToken
|
||||
from backend.app.schemas.user import Auth
|
||||
from backend.app.services.auth_service import AuthService
|
||||
|
||||
@@ -17,9 +17,9 @@ router = APIRouter()
|
||||
|
||||
|
||||
@router.post('/swagger_login', summary='swagger 表单登录', description='form 格式登录,仅用于 swagger 文档调试接口')
|
||||
async def swagger_user_login(form_data: OAuth2PasswordRequestForm = Depends()) -> SwaggerToken:
|
||||
async def swagger_user_login(form_data: OAuth2PasswordRequestForm = Depends()) -> GetSwaggerToken:
|
||||
token, user = await AuthService().swagger_login(form_data)
|
||||
return SwaggerToken(access_token=token, user=user)
|
||||
return GetSwaggerToken(access_token=token, user=user)
|
||||
|
||||
|
||||
@router.post(
|
||||
@@ -32,7 +32,7 @@ async def user_login(request: Request, obj: Auth, background_tasks: BackgroundTa
|
||||
access_token, refresh_token, access_expire, refresh_expire, user = await AuthService().login(
|
||||
request=request, obj=obj, background_tasks=background_tasks
|
||||
)
|
||||
data = LoginToken(
|
||||
data = GetLoginToken(
|
||||
access_token=access_token,
|
||||
refresh_token=refresh_token,
|
||||
access_token_expire_time=access_expire,
|
||||
@@ -45,7 +45,7 @@ async def user_login(request: Request, obj: Auth, background_tasks: BackgroundTa
|
||||
@router.post('/new_token', summary='创建新 token', dependencies=[DependsJwtAuth])
|
||||
async def create_new_token(refresh_token: Annotated[str, Query(...)]):
|
||||
access_token, access_expire = await AuthService.new_token(refresh_token)
|
||||
data = NewToken(access_token=access_token, access_token_expire_time=access_expire)
|
||||
data = GetNewToken(access_token=access_token, access_token_expire_time=access_expire)
|
||||
return response_base.success(data=data)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
from curses.ascii import isupper
|
||||
|
||||
from pydantic import BaseModel, Field, validator
|
||||
|
||||
from backend.app.common.enums import MethodType
|
||||
@@ -17,7 +15,7 @@ class CreatePolicy(RBACBase):
|
||||
|
||||
@validator('method')
|
||||
def check_method(cls, v):
|
||||
if not isupper(v):
|
||||
if not v.isupper():
|
||||
raise ValueError('请求方式必须大写')
|
||||
allow_method = MethodType.get_member_values()
|
||||
if v not in allow_method:
|
||||
@@ -33,7 +31,7 @@ class DeletePolicy(CreatePolicy):
|
||||
pass
|
||||
|
||||
|
||||
class UserRole(BaseModel):
|
||||
class CreateUserRole(BaseModel):
|
||||
uuid: str = Field(..., description='用户uuid')
|
||||
role: str = Field(..., description='角色')
|
||||
|
||||
|
||||
@@ -1,36 +1,32 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
from datetime import datetime
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
from backend.app.schemas.user import GetUserInfoNoRelation
|
||||
|
||||
|
||||
class SwaggerToken(BaseModel):
|
||||
class GetSwaggerToken(BaseModel):
|
||||
access_token: str
|
||||
token_type: str = 'Bearer'
|
||||
user: GetUserInfoNoRelation
|
||||
|
||||
|
||||
class AccessToken(BaseModel):
|
||||
class AccessTokenBase(BaseModel):
|
||||
access_token: str
|
||||
access_token_type: str = 'Bearer'
|
||||
access_token_expire_time: datetime
|
||||
|
||||
|
||||
class LoginToken(AccessToken):
|
||||
class GetLoginToken(AccessTokenBase):
|
||||
refresh_token: str
|
||||
refresh_token_type: str = 'Bearer'
|
||||
refresh_token_expire_time: datetime
|
||||
user: GetUserInfoNoRelation
|
||||
|
||||
|
||||
class RefreshToken(BaseModel):
|
||||
refresh_token: str
|
||||
refresh_token_type: str = 'Bearer'
|
||||
refresh_token_expire_time: datetime
|
||||
|
||||
|
||||
class NewToken(AccessToken):
|
||||
class GetNewToken(AccessTokenBase):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user